reformat code & optimize import & reorder entries

This commit is contained in:
CsHeng
2017-04-27 14:27:11 +08:00
parent 153f33f44b
commit 9432e34571
671 changed files with 33616 additions and 34861 deletions

View File

@ -4,47 +4,25 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.*;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.*;
import android.widget.LinearLayout.LayoutParams;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.gh.common.constant.Config;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.PlatformUtils;
import com.gh.common.util.Utils;
import com.gh.download.DataWatcher;
import com.gh.download.DownloadEntity;
import com.gh.download.DownloadManager;
import com.gh.download.DownloadStatus;
import com.gh.common.util.*;
import com.gh.download.*;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.PlatformPagerAdapter;
import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameCollectionEntity;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBDownloadStatus;
import com.gh.gamecenter.eventbus.EBPackage;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.entity.*;
import com.gh.gamecenter.eventbus.*;
import com.gh.gamecenter.listener.OnCollectionCallBackListener;
import com.gh.gamecenter.manager.PackageManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import de.greenrobot.event.EventBus;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
*
* @author 温冠超
* @email 294299195@qq.com
* @date 2015-8-12
@ -53,235 +31,228 @@ import de.greenrobot.event.EventBus;
*/
public class DownloadDialog implements OnCollectionCallBackListener {
private static DownloadDialog instance;
private static DownloadDialog instance;
private Context context;
private Context context;
private boolean isShow;
private boolean isShow;
private PopupWindow popupWindow;
private List<ApkEntity> gameApk;
private GameEntity gameEntity;
private ViewPager viewPager;
private PlatformPagerAdapter adapter;
private LinearLayout dialog_ll_hint;
private LinearLayout dialog_ll_collection;
private ViewPager collectionViewPager;
private PlatformPagerAdapter collectionAdapter;
private DataWatcher dataWatcher = new DataWatcher() {
@Override
public void onDataChanged(DownloadEntity downloadEntity) {
if (downloadEntity.getName().equals(gameEntity.getName())
&& !"delete".equals(DownloadManager.getInstance(context).getStatus(downloadEntity.getUrl()))) {
private DownloadDialog() {
isShow = false;
}
adapter.putDownloadEntity(downloadEntity);
public static DownloadDialog getInstance(Context context) {
if (instance == null) {
instance = new DownloadDialog();
}
instance.context = context;
return instance;
}
if (collectionAdapter != null) {
collectionAdapter.putDownloadEntity(downloadEntity);
}
}
}
};
private LinearLayout dialog_ll_collection_hint;
private String entrance;
private String location;
private int row;
private int column;
private boolean isLoadPlatform;
private DataWatcher dataWatcher = new DataWatcher() {
@Override
public void onDataChanged(DownloadEntity downloadEntity) {
if (downloadEntity.getName().equals(gameEntity.getName())
&& !"delete".equals(DownloadManager.getInstance(context).getStatus(downloadEntity.getUrl()))) {
private DownloadDialog() {
isShow = false;
}
adapter.putDownloadEntity(downloadEntity);
public static DownloadDialog getInstance(Context context) {
if (instance == null) {
instance = new DownloadDialog();
}
instance.context = context;
return instance;
}
if (collectionAdapter != null) {
collectionAdapter.putDownloadEntity(downloadEntity);
}
}
}
};
public void showPopupWindow(View view, GameEntity gameEntity, String entrance, String location) {
private PopupWindow popupWindow;
if (isShow && (popupWindow == null || !popupWindow.isShowing())) {
isShow = false;
}
if (isShow) {
return;
}
isShow = true;
private List<ApkEntity> gameApk;
private GameEntity gameEntity;
this.gameEntity = gameEntity;
this.entrance = entrance;
this.location = location;
private ViewPager viewPager;
private PlatformPagerAdapter adapter;
private LinearLayout dialog_ll_hint;
private LinearLayout dialog_ll_collection;
private ViewPager collectionViewPager;
private PlatformPagerAdapter collectionAdapter;
private LinearLayout dialog_ll_collection_hint;
SharedPreferences sp = context.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
row = sp.getInt("download_box_row", 3);
column = sp.getInt("download_box_column", 3);
private String entrance;
private String location;
gameApk = sortApk(new ArrayList<>(gameEntity.getApk()));
private int row;
private int column;
if (gameEntity.getCollection() != null) {
mergeApkCollection(gameEntity);
}
public void showPopupWindow(View view, GameEntity gameEntity, String entrance, String location) {
// 一个自定义的布局,作为显示的内容
View contentView = View.inflate(context, R.layout.game_download_dialog, null);
if (isShow && (popupWindow == null || !popupWindow.isShowing())) {
isShow = false;
}
if (isShow) {
return;
}
isShow = true;
TextView title = (TextView) contentView.findViewById(R.id.dialog_title);
title.setText(gameEntity.getName());
this.gameEntity = gameEntity;
this.entrance = entrance;
this.location = location;
viewPager = (ViewPager) contentView.findViewById(R.id.dialog_viewPager);
dialog_ll_hint = (LinearLayout) contentView.findViewById(R.id.dialog_ll_hint);
dialog_ll_collection = (LinearLayout) contentView.findViewById(R.id.dialog_ll_collection);
dialog_ll_collection_hint = (LinearLayout) contentView.findViewById(R.id.dialog_ll_collection_hint);
collectionViewPager = (ViewPager) contentView.findViewById(R.id.dialog_collection_viewPager);
SharedPreferences sp = context.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
row = sp.getInt("download_box_row", 3);
column = sp.getInt("download_box_column", 3);
isLoadPlatform = false;
gameApk = sortApk(new ArrayList<>(gameEntity.getApk()));
init(new ArrayList<>(gameApk));
if (gameEntity.getCollection() != null) {
mergeApkCollection(gameEntity);
}
viewPager.addOnPageChangeListener(new MyPageChangeListener(dialog_ll_hint));
// 一个自定义的布局,作为显示的内容
View contentView = View.inflate(context, R.layout.game_download_dialog, null);
popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, true);
TextView title = (TextView) contentView.findViewById(R.id.dialog_title);
title.setText(gameEntity.getName());
contentView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
}
});
contentView.setFocusable(true);
contentView.setFocusableInTouchMode(true);
contentView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0
&& popupWindow != null && popupWindow.isShowing()) {
popupWindow.dismiss();
}
return false;
}
});
viewPager = (ViewPager) contentView.findViewById(R.id.dialog_viewPager);
dialog_ll_hint = (LinearLayout) contentView.findViewById(R.id.dialog_ll_hint);
dialog_ll_collection = (LinearLayout) contentView.findViewById(R.id.dialog_ll_collection);
dialog_ll_collection_hint = (LinearLayout) contentView.findViewById(R.id.dialog_ll_collection_hint);
collectionViewPager = (ViewPager) contentView.findViewById(R.id.dialog_collection_viewPager);
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
isShow = false;
EventBus.getDefault().unregister(DownloadDialog.this);
DownloadManager.getInstance(context).removeObserver(dataWatcher);
}
});
isLoadPlatform = false;
popupWindow.setTouchable(true);
popupWindow.setFocusable(true);
init(new ArrayList<>(gameApk));
// 设置popWindow的显示和消失动画
popupWindow.setAnimationStyle(R.style.mypopwindow_anim_style);
viewPager.addOnPageChangeListener(new MyPageChangeListener(dialog_ll_hint));
// 设置好参数之后再show
popupWindow.showAtLocation(view, Gravity.BOTTOM, 0, 0);
popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, true);
if (!EventBus.getDefault().isRegistered(DownloadDialog.this)) {
EventBus.getDefault().register(DownloadDialog.this);
}
contentView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
}
});
contentView.setFocusable(true);
contentView.setFocusableInTouchMode(true);
contentView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0
&& popupWindow != null && popupWindow.isShowing()) {
popupWindow.dismiss();
}
return false;
}
});
DownloadManager.getInstance(context).addObserver(dataWatcher);
}
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
isShow = false;
EventBus.getDefault().unregister(DownloadDialog.this);
DownloadManager.getInstance(context).removeObserver(dataWatcher);
}
});
// 合并ApkCollection
private void mergeApkCollection(GameEntity gameEntity) {
List<ApkEntity> gameCollectionApk = new ArrayList<>();
ConcurrentHashMap<String, Integer> hashMap = new ConcurrentHashMap<>();
boolean isCollection;
popupWindow.setTouchable(true);
popupWindow.setFocusable(true);
for (ApkEntity apkEntity : gameApk) {
isCollection = false;
for (GameCollectionEntity gameCollectionEntity : gameEntity.getCollection()) {
for (String packageName : gameCollectionEntity.getPackage()) {
if (packageName.equals(apkEntity.getPackageName())) {
isCollection = true;
if (hashMap.get(gameCollectionEntity.getName()) != null) {
gameCollectionApk.get(hashMap.get(gameCollectionEntity.getName()))
.getApkCollection().getSaveApkEntity().add(apkEntity);
} else {
ApkEntity newApkEntity = new ApkEntity();
GameCollectionEntity collectionEntity = new GameCollectionEntity();
List<ApkEntity> saveApkList = new ArrayList<>();
saveApkList.add(apkEntity);
collectionEntity.setSaveApkEntity(saveApkList);
collectionEntity.setName(gameCollectionEntity.getName());
collectionEntity.setIcon(gameCollectionEntity.getIcon());
collectionEntity.setColor(gameCollectionEntity.getColor());
newApkEntity.setApkCollection(collectionEntity);
gameCollectionApk.add(newApkEntity);
// 设置popWindow的显示和消失动画
popupWindow.setAnimationStyle(R.style.mypopwindow_anim_style);
hashMap.put(gameCollectionEntity.getName(), gameCollectionApk.size() - 1);
}
}
}
}
if (!isCollection) {
gameCollectionApk.add(apkEntity);
}
}
// 设置好参数之后再show
popupWindow.showAtLocation(view, Gravity.BOTTOM, 0, 0);
gameApk = gameCollectionApk;
}
if (!EventBus.getDefault().isRegistered(DownloadDialog.this)) {
EventBus.getDefault().register(DownloadDialog.this);
}
private void init(List<ApkEntity> apkList) {
for (int i = 0; i < apkList.size(); i++) {
String platformName = PlatformUtils.getInstance(context)
.getPlatformName(apkList.get(i).getPlatform());
if (platformName == null) {
apkList.remove(i);
i--;
if (!isLoadPlatform) {
PlatformUtils.getInstance(context).getPlatform();
isLoadPlatform = true;
}
}
}
DownloadManager.getInstance(context).addObserver(dataWatcher);
}
apkList.add(new ApkEntity()); // 添加一个跳转投票
// 合并ApkCollection
private void mergeApkCollection(GameEntity gameEntity) {
List<ApkEntity> gameCollectionApk = new ArrayList<>();
ConcurrentHashMap<String, Integer> hashMap = new ConcurrentHashMap<>();
boolean isCollection;
dialog_ll_hint.removeAllViews();
int size = (int) Math.ceil(apkList.size() / (double) (row * column));
addHintPoint(dialog_ll_hint, size);
for (ApkEntity apkEntity : gameApk) {
isCollection = false;
for (GameCollectionEntity gameCollectionEntity : gameEntity.getCollection()) {
for (String packageName : gameCollectionEntity.getPackage()) {
if (packageName.equals(apkEntity.getPackageName())){
isCollection = true;
if (hashMap.get(gameCollectionEntity.getName()) != null) {
gameCollectionApk.get(hashMap.get(gameCollectionEntity.getName()))
.getApkCollection().getSaveApkEntity().add(apkEntity);
} else {
ApkEntity newApkEntity = new ApkEntity();
GameCollectionEntity collectionEntity = new GameCollectionEntity();
List<ApkEntity> saveApkList = new ArrayList<>();
saveApkList.add(apkEntity);
collectionEntity.setSaveApkEntity(saveApkList);
collectionEntity.setName(gameCollectionEntity.getName());
collectionEntity.setIcon(gameCollectionEntity.getIcon());
collectionEntity.setColor(gameCollectionEntity.getColor());
newApkEntity.setApkCollection(collectionEntity);
gameCollectionApk.add(newApkEntity);
int count = apkList.size();
int vpHeight;
if (count <= 3) {
vpHeight = 88;
} else if (count <= 6) {
vpHeight = 148;
} else {
vpHeight = 208;
}
ViewGroup.LayoutParams layoutParams = viewPager.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(context, vpHeight);
viewPager.setLayoutParams(layoutParams);
hashMap.put(gameCollectionEntity.getName(), gameCollectionApk.size() - 1);
}
}
}
}
if (!isCollection) {
gameCollectionApk.add(apkEntity);
}
}
int currentItem = 0;
if (viewPager != null) {
currentItem = viewPager.getCurrentItem();
}
Utils.log("currentItem = " + currentItem);
adapter = new PlatformPagerAdapter(context, this, gameEntity, apkList, entrance, location);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(currentItem);
}
gameApk = gameCollectionApk;
}
private boolean isLoadPlatform;
private void init(List<ApkEntity> apkList) {
for (int i = 0; i < apkList.size(); i++) {
String platformName = PlatformUtils.getInstance(context)
.getPlatformName(apkList.get(i).getPlatform());
if (platformName == null) {
apkList.remove(i);
i--;
if (!isLoadPlatform) {
PlatformUtils.getInstance(context).getPlatform();
isLoadPlatform = true;
}
}
}
apkList.add(new ApkEntity()); // 添加一个跳转投票
dialog_ll_hint.removeAllViews();
int size = (int) Math.ceil(apkList.size() / (double) (row * column));
addHintPoint(dialog_ll_hint, size);
int count = apkList.size();
int vpHeight;
if (count <= 3) {
vpHeight = 88;
} else if (count <= 6) {
vpHeight = 148;
} else {
vpHeight = 208;
}
ViewGroup.LayoutParams layoutParams = viewPager.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(context, vpHeight);
viewPager.setLayoutParams(layoutParams);
int currentItem = 0;
if (viewPager != null) {
currentItem = viewPager.getCurrentItem();
}
Utils.log("currentItem = " + currentItem);
adapter = new PlatformPagerAdapter(context, this, gameEntity, apkList, entrance, location);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(currentItem);
}
private ArrayList<ApkEntity> sortApk(ArrayList<ApkEntity> apkList) {
/*
* 安装插件 10
private ArrayList<ApkEntity> sortApk(ArrayList<ApkEntity> apkList) {
/*
* 安装插件 10
* 插件化下载中 9
* 插件化 8
* 安装更新 7
@ -294,189 +265,189 @@ public class DownloadDialog implements OnCollectionCallBackListener {
* 默认无图片0
*/
DownloadEntity downloadEntity;
String packageName;
Object gh_id;
for (ApkEntity apkEntity : apkList) {
downloadEntity = DownloadManager.getInstance(context).get(apkEntity.getUrl());
if (downloadEntity == null) {
packageName = apkEntity.getPackageName();
if (PackageManager.isInstalled(packageName)) {
gh_id = PackageUtils.getMetaData(context, packageName, "gh_id");
if (gh_id == null || gh_id.equals(gameEntity.getId())) {
if (!PackageUtils.isSignature(context, packageName)) {
apkEntity.setOrder(8);
} else if (PackageManager.isCanUpdate(gameEntity.getId(), packageName)) {
apkEntity.setOrder(5);
} else {
apkEntity.setOrder(2);
}
continue;
}
}
apkEntity.setOrder(1);
DownloadEntity downloadEntity;
String packageName;
Object gh_id;
for (ApkEntity apkEntity : apkList) {
downloadEntity = DownloadManager.getInstance(context).get(apkEntity.getUrl());
if (downloadEntity == null) {
packageName = apkEntity.getPackageName();
if (PackageManager.isInstalled(packageName)) {
gh_id = PackageUtils.getMetaData(context, packageName, "gh_id");
if (gh_id == null || gh_id.equals(gameEntity.getId())) {
if (!PackageUtils.isSignature(context, packageName)) {
apkEntity.setOrder(8);
} else if (PackageManager.isCanUpdate(gameEntity.getId(), packageName)) {
apkEntity.setOrder(5);
} else {
apkEntity.setOrder(2);
}
continue;
}
}
apkEntity.setOrder(1);
String platform = apkEntity.getPlatform();
int id = PlatformUtils.getInstance(context).getPlatformPic(platform);
if (id == 0) {
String path = PlatformUtils.getInstance(context).getPlatformPicPath(platform);
if (path == null) {
apkEntity.setOrder(0);
}
}
} else {
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
if (downloadEntity.isPluggable()) {
apkEntity.setOrder(10);
} else if (downloadEntity.isUpdate()) {
apkEntity.setOrder(7);
} else {
apkEntity.setOrder(4);
}
} else {
if (downloadEntity.isPluggable()) {
apkEntity.setOrder(9);
} else if (downloadEntity.isUpdate()) {
apkEntity.setOrder(6);
} else {
apkEntity.setOrder(3);
}
}
}
}
Comparator<ApkEntity> comparator = new Comparator<ApkEntity>() {
@Override
public int compare(ApkEntity lhs, ApkEntity rhs) {
return rhs.getOrder() - lhs.getOrder();
}
};
Collections.sort(apkList, comparator);
return apkList;
}
String platform = apkEntity.getPlatform();
int id = PlatformUtils.getInstance(context).getPlatformPic(platform);
if (id == 0) {
String path = PlatformUtils.getInstance(context).getPlatformPicPath(platform);
if (path == null) {
apkEntity.setOrder(0);
}
}
} else {
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
if (downloadEntity.isPluggable()) {
apkEntity.setOrder(10);
} else if (downloadEntity.isUpdate()) {
apkEntity.setOrder(7);
} else {
apkEntity.setOrder(4);
}
} else {
if (downloadEntity.isPluggable()) {
apkEntity.setOrder(9);
} else if (downloadEntity.isUpdate()) {
apkEntity.setOrder(6);
} else {
apkEntity.setOrder(3);
}
}
}
}
Comparator<ApkEntity> comparator = new Comparator<ApkEntity>() {
@Override
public int compare(ApkEntity lhs, ApkEntity rhs) {
return rhs.getOrder() - lhs.getOrder();
}
};
Collections.sort(apkList, comparator);
return apkList;
}
// 接收安装成功的消息,更新界面
public void onEvent(EBPackage busFour) {
if ("安装".equals(busFour.getType())) {
adapter.removeDownloadEntityByPackageName(busFour.getPackageName());
if (collectionAdapter != null) {
collectionAdapter.removeDownloadEntityByPackageName(busFour.getPackageName());
}
} else if ("卸载".equals(busFour.getType())) {
adapter.updateItem(busFour.getPackageName());
if (collectionAdapter != null) {
collectionAdapter.updateItem(busFour.getPackageName());
}
}
}
// 接收安装成功的消息,更新界面
public void onEvent(EBPackage busFour) {
if ("安装".equals(busFour.getType())) {
adapter.removeDownloadEntityByPackageName(busFour.getPackageName());
if (collectionAdapter != null) {
collectionAdapter.removeDownloadEntityByPackageName(busFour.getPackageName());
}
} else if ("卸载".equals(busFour.getType())) {
adapter.updateItem(busFour.getPackageName());
if (collectionAdapter != null) {
collectionAdapter.updateItem(busFour.getPackageName());
}
}
}
//接收下载被删除消息
public void onEvent(EBDownloadStatus status) {
if ("delete".equals(status.getStatus())) {
String url = status.getUrl();
adapter.removeDownloadEntityByUrl(url);
if (collectionAdapter != null) {
collectionAdapter.removeDownloadEntityByUrl(url);
}
DownloadManager.getInstance(context).putStatus(url, "delete");
}
}
//接收下载被删除消息
public void onEvent(EBDownloadStatus status) {
if ("delete".equals(status.getStatus())) {
String url = status.getUrl();
adapter.removeDownloadEntityByUrl(url);
if (collectionAdapter != null) {
collectionAdapter.removeDownloadEntityByUrl(url);
}
DownloadManager.getInstance(context).putStatus(url, "delete");
}
}
// 接收platform数据改变消息更新界面
public void onEvent(EBReuse reuse) {
if ("PlatformChanged".equals(reuse.getType())) {
DownloadManager.getInstance(context).removeObserver(dataWatcher);
init(new ArrayList<>(gameApk));
DownloadManager.getInstance(context).addObserver(dataWatcher);
}
}
// 接收platform数据改变消息更新界面
public void onEvent(EBReuse reuse) {
if ("PlatformChanged".equals(reuse.getType())) {
DownloadManager.getInstance(context).removeObserver(dataWatcher);
init(new ArrayList<>(gameApk));
DownloadManager.getInstance(context).addObserver(dataWatcher);
}
}
private void addHintPoint(LinearLayout linearLayout, int size) {
if (size <= 1) {
return;
}
for (int i = 0; i < size; i++) {
ImageView imageView = new ImageView(context);
LayoutParams lparams = new LayoutParams(
DisplayUtils.dip2px(context, 6), DisplayUtils.dip2px(context, 6));
if (i == 0) {
lparams.leftMargin = 0;
imageView.setImageResource(R.drawable.oval_hint_up);
} else {
lparams.leftMargin = DisplayUtils.dip2px(context, 9);
imageView.setImageResource(R.drawable.oval_hint_gray_bg);
}
imageView.setLayoutParams(lparams);
linearLayout.addView(imageView);
}
}
private void addHintPoint(LinearLayout linearLayout, int size) {
if (size <= 1) {
return;
}
for (int i = 0; i < size; i++) {
ImageView imageView = new ImageView(context);
LayoutParams lparams = new LayoutParams(
DisplayUtils.dip2px(context, 6), DisplayUtils.dip2px(context, 6));
if (i == 0) {
lparams.leftMargin = 0;
imageView.setImageResource(R.drawable.oval_hint_up);
} else {
lparams.leftMargin = DisplayUtils.dip2px(context, 9);
imageView.setImageResource(R.drawable.oval_hint_gray_bg);
}
imageView.setLayoutParams(lparams);
linearLayout.addView(imageView);
}
}
// 显示合集
@Override
public void showCollection(GameCollectionEntity gameCollectionEntity) {
dialog_ll_collection.setVisibility(View.VISIBLE);
// 显示合集
@Override
public void showCollection(GameCollectionEntity gameCollectionEntity) {
dialog_ll_collection.setVisibility(View.VISIBLE);
int count = gameCollectionEntity.getSaveApkEntity().size();
int vpHeight;
if (count <= 3) {
vpHeight = 80;
} else if (count <= 6) {
vpHeight = 140;
} else {
vpHeight = 200;
}
int count = gameCollectionEntity.getSaveApkEntity().size();
int vpHeight;
if (count <= 3) {
vpHeight = 80;
} else if (count <= 6) {
vpHeight = 140;
} else {
vpHeight = 200;
}
ViewGroup.LayoutParams layoutParams = collectionViewPager.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(context, vpHeight);
collectionViewPager.setLayoutParams(layoutParams);
ViewGroup.LayoutParams layoutParams = collectionViewPager.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(context, vpHeight);
collectionViewPager.setLayoutParams(layoutParams);
dialog_ll_collection_hint.removeAllViews();
int size = (int) Math.ceil(gameCollectionEntity.getSaveApkEntity().size() / (double) (row * column));
addHintPoint(dialog_ll_collection_hint, size);
dialog_ll_collection_hint.removeAllViews();
int size = (int) Math.ceil(gameCollectionEntity.getSaveApkEntity().size() / (double) (row * column));
addHintPoint(dialog_ll_collection_hint, size);
collectionAdapter = new PlatformPagerAdapter(
context, this, gameEntity, gameCollectionEntity.getSaveApkEntity(), entrance, location);
collectionViewPager.setAdapter(collectionAdapter);
collectionAdapter = new PlatformPagerAdapter(
context, this, gameEntity, gameCollectionEntity.getSaveApkEntity(), entrance, location);
collectionViewPager.setAdapter(collectionAdapter);
collectionViewPager.addOnPageChangeListener(new MyPageChangeListener(dialog_ll_collection_hint));
}
collectionViewPager.addOnPageChangeListener(new MyPageChangeListener(dialog_ll_collection_hint));
}
// 隐藏合集
@Override
public void hideCollection() {
dialog_ll_collection.setVisibility(View.GONE);
collectionAdapter = null;
}
// 隐藏合集
@Override
public void hideCollection() {
dialog_ll_collection.setVisibility(View.GONE);
collectionAdapter = null;
}
private class MyPageChangeListener implements OnPageChangeListener {
private class MyPageChangeListener implements OnPageChangeListener {
private LinearLayout linearLayout;
private LinearLayout linearLayout;
public MyPageChangeListener(LinearLayout linearLayout) {
this.linearLayout = linearLayout;
}
public MyPageChangeListener(LinearLayout linearLayout) {
this.linearLayout = linearLayout;
}
@Override
public void onPageScrolled(int i, float v, int i1) {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
}
@Override
public void onPageSelected(int position) {
for (int i = 0, size = linearLayout.getChildCount(); i < size; i++) {
if (i == position % size) {
((ImageView) linearLayout.getChildAt(i))
.setImageResource(R.drawable.oval_hint_up);
} else {
((ImageView) linearLayout.getChildAt(i))
.setImageResource(R.drawable.oval_hint_gray_bg);
}
}
}
@Override
public void onPageSelected(int position) {
for (int i = 0, size = linearLayout.getChildCount(); i < size; i++) {
if (i == position % size) {
((ImageView) linearLayout.getChildAt(i))
.setImageResource(R.drawable.oval_hint_up);
} else {
((ImageView) linearLayout.getChildAt(i))
.setImageResource(R.drawable.oval_hint_gray_bg);
}
}
}
@Override
public void onPageScrollStateChanged(int i) {
@Override
public void onPageScrollStateChanged(int i) {
}
}
}
}
}