diff --git a/app/src/main/java/com/gh/base/BaseDetailActivity.java b/app/src/main/java/com/gh/base/BaseDetailActivity.java index 225d8e15c5..0aad2dc2ca 100644 --- a/app/src/main/java/com/gh/base/BaseDetailActivity.java +++ b/app/src/main/java/com/gh/base/BaseDetailActivity.java @@ -344,6 +344,7 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On String str = detail_tv_per.getText().toString(); if ("下载中".equals(str)) { Intent intent = new Intent(this, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); intent.putExtra("entrance", entrance + "+(" + name + "[" + title + "])"); startActivity(intent); diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index 4b4d6f8e20..c14e1b13cb 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -370,6 +370,7 @@ public class DownloadItemUtils { PackageUtils.launchApplicationByPackageName(context, gameEntity.getApk().get(0).getPackageName()); } else if ("下载中".equals(str)) { Intent intent = new Intent(context, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); intent.putExtra("entrance", entrance + "+(" + location.split(":")[0] + ")"); context.startActivity(intent); diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index 92275f7728..a6d3ce9d9a 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -72,6 +72,14 @@ public class MessageShareUtils { private Activity activity; // 用来关闭分享页面 + // 适配快传成绩单分享 + private int contentSize; + private int paddTop; + private int picSize; + private int itemSize; + private int gridCount; + private int marImg; + public static MessageShareUtils getInstance(Context context) { if (instance == null) { instance = new MessageShareUtils(); @@ -82,22 +90,39 @@ public class MessageShareUtils { return instance; } - public void showShareWindows(View view, Bitmap bitmap, String picName, boolean ispopupWindow){ + public void showShareWindows(View view, Bitmap bitmap, String picName, int shareType){ this.shareBm = bitmap; this.picName = picName; this.activity= (Activity) context; + if (shareType == 2) { + contentSize = 75; + paddTop = 0; + gridCount = 4; + picSize = 30; + itemSize = 75; + marImg = 10; + } else { + contentSize = 100; + paddTop = 10; + gridCount = 5; + picSize = 43; + itemSize = 90; + marImg = 13; + + } + RelativeLayout contentView = new RelativeLayout(context); contentView.setBackgroundColor(0x8c000000); contentView.setFocusable(true); contentView.setFocusableInTouchMode(true); RecyclerView shareRecyclerView = new RecyclerView(context); - shareRecyclerView.setPadding(DisplayUtils.dip2px(context, 10), DisplayUtils.dip2px(context, 10), DisplayUtils.dip2px(context, 10), 0); + shareRecyclerView.setPadding(DisplayUtils.dip2px(context, 10), DisplayUtils.dip2px(context, paddTop), DisplayUtils.dip2px(context, 10), 0); shareRecyclerView.setBackgroundColor(Color.WHITE); //RecyclerView禁止滑动 - GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 5){ + GridLayoutManager gridLayoutManager = new GridLayoutManager(context, gridCount){ @Override public boolean canScrollVertically() { return false; @@ -107,10 +132,10 @@ public class MessageShareUtils { shareRecyclerView.setLayoutManager(gridLayoutManager); shareRecyclerView.setAdapter(new ShareRecyclerViewAdapter()); - if (!ispopupWindow) { + if (shareType == 0 || shareType == 2) { LinearLayout llBottom = (LinearLayout) view; ViewGroup.LayoutParams layoutParams = llBottom.getLayoutParams(); - layoutParams.height = DisplayUtils.dip2px(context, 100); + layoutParams.height = DisplayUtils.dip2px(context, contentSize); llBottom.addView(shareRecyclerView); return; } @@ -151,13 +176,13 @@ public class MessageShareUtils { @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LinearLayout linearLayout = new LinearLayout(context); - linearLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, DisplayUtils.dip2px(context, 90))); + linearLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, DisplayUtils.dip2px(context, itemSize))); linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setGravity(Gravity.CENTER_HORIZONTAL); linearLayout.setBackgroundResource(R.drawable.cardview_item_style); ImageView shareLogo = new ImageView(context); - LinearLayout.LayoutParams logoParams = new LinearLayout.LayoutParams(DisplayUtils.dip2px(context, 43), DisplayUtils.dip2px(context, 43)); + LinearLayout.LayoutParams logoParams = new LinearLayout.LayoutParams(DisplayUtils.dip2px(context, picSize), DisplayUtils.dip2px(context, picSize)); logoParams.setMargins(0, DisplayUtils.dip2px(context, 10), 0, 0); shareLogo.setLayoutParams(logoParams); @@ -167,7 +192,7 @@ public class MessageShareUtils { shareLabel.setLayoutParams(layoutParams); shareLabel.setGravity(Gravity.CENTER); shareLabel.setTextColor(Color.parseColor("#3a3a3a")); - shareLabel.setTextSize(13); + shareLabel.setTextSize(marImg); linearLayout.addView(shareLogo); linearLayout.addView(shareLabel); @@ -213,7 +238,7 @@ public class MessageShareUtils { @Override public int getItemCount() { - return arrLogo.length; + return gridCount; } public class ViewHolder extends RecyclerView.ViewHolder{ diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index 9959a0cd6f..eb2bcaf62f 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -473,6 +473,7 @@ public class ShareUtils { sendIntent.setType("vnd.android-dir/mms-sms"); try { + sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(sendIntent); } catch (Exception e) { Utils.toast(context, "系统异常,分享失败"); diff --git a/app/src/main/java/com/gh/common/view/SwipeLayout.java b/app/src/main/java/com/gh/common/view/SwipeLayout.java index 3c49709c97..963d367d45 100644 --- a/app/src/main/java/com/gh/common/view/SwipeLayout.java +++ b/app/src/main/java/com/gh/common/view/SwipeLayout.java @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Rect; +import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewCompat; @@ -21,7 +22,6 @@ import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.FrameLayout; -import com.gh.common.util.Utils; import com.gh.gamecenter.R; import java.lang.reflect.Method; @@ -66,8 +66,8 @@ public class SwipeLayout extends FrameLayout { private boolean mSwipeEnabled = true; private boolean[] mSwipesEnabled = new boolean[]{true, true, true, true}; private boolean mClickToClose = false; - private float mWillOpenPercentAfterOpen=0.50f; - private float mWillOpenPercentAfterClose=0.50f; + private float mWillOpenPercentAfterOpen=0.29f; // 触发open的距离 + private float mWillOpenPercentAfterClose=0.29f; public enum DragEdge { Left, @@ -176,11 +176,11 @@ public class SwipeLayout extends FrameLayout { /** * bind a view with a specific - * {@link com.daimajia.swipe.SwipeLayout.OnRevealListener} + * * * @param childId the view id. * @param l the target - * {@link com.daimajia.swipe.SwipeLayout.OnRevealListener} + * */ public void addRevealListener(int childId, OnRevealListener l) { View child = findViewById(childId); @@ -199,10 +199,10 @@ public class SwipeLayout extends FrameLayout { /** * bind multiple views with an - * {@link com.daimajia.swipe.SwipeLayout.OnRevealListener}. + * {@link}. * * @param childIds the view id. - * @param l the {@link com.daimajia.swipe.SwipeLayout.OnRevealListener} + * @param l */ public void addRevealListener(int[] childIds, OnRevealListener l) { for (int i : childIds) @@ -1236,8 +1236,6 @@ public class SwipeLayout extends FrameLayout { /** * There are 2 diffirent show mode. - * {@link com.daimajia.swipe.SwipeLayout.ShowMode}.PullOut and - * {@link com.daimajia.swipe.SwipeLayout.ShowMode}.LayDown. * * @param mode */ @@ -1298,7 +1296,7 @@ public class SwipeLayout extends FrameLayout { /** * get the open status. * - * @return {@link com.daimajia.swipe.SwipeLayout.Status} Open , Close or + * @return * Middle. */ public Status getOpenStatus() { @@ -1341,7 +1339,7 @@ public class SwipeLayout extends FrameLayout { } if (currentDragEdge == DragEdge.Left) { -// if (xvel > minVelocity) open(); //TODO 打开侧滑不受侧滑限制 +// if (xvel > minVelocity) open(); //TODO 打开侧滑不受侧滑速度限制 // else if (xvel < -minVelocity) close(); else { @@ -1376,8 +1374,49 @@ public class SwipeLayout extends FrameLayout { } } + public void openAndColse() { + openAndColse(true, true); + } + + Handler handler = new Handler(); + public void openAndColse(boolean smooth, boolean notify) { + View surface = getSurfaceView(), bottom = getCurrentBottomView(); + if (surface == null) { + return; + } + int dx, dy; + Rect rect = computeSurfaceLayoutArea(true); + if (smooth) { + mDragHelper.smoothSlideViewTo(surface, rect.left/4, rect.top); + handler.postDelayed(new Runnable() { + @Override + public void run() { + close(); + } + }, 200); + } else { + dx = rect.left - surface.getLeft(); + dy = rect.top - surface.getTop(); + surface.layout(rect.left, rect.top, rect.right, rect.bottom); + if (getShowMode() == ShowMode.PullOut) { + Rect bRect = computeBottomLayoutAreaViaSurface(ShowMode.PullOut, rect); + if (bottom != null) { + bottom.layout(bRect.left, bRect.top, bRect.right, bRect.bottom); + } + } + if (notify) { + dispatchRevealEvent(rect.left, rect.top, rect.right, rect.bottom); + dispatchSwipeEvent(rect.left, rect.top, dx, dy); + } else { + safeBottomView(); + } + } + invalidate(); + } + /** * smoothly open surface. + * 已自定义修改 */ public void open() { open(true, true); diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index 32ae73fb75..20ac48d9a5 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -76,6 +76,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On mAdapter.setSelectPosition(selectPosition); mAdapter.notifyItemRangeChanged(0, itemCount); + mAdapter.checkBoxControl(isChecked, 0); } }); @@ -92,7 +93,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On if ("停止扫描".equals(s)) { mAdapter.isStopScan(); } else { - if (s.equals("立即删除")) { + if (s.equals("一键删除")) { Utils.toast(CleanApkActivity.this, "请选择需要删除的安装包"); return; } @@ -103,7 +104,8 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On for (int i = 0; i < apkList.size(); i++) { if (selectPosition.get(i) && apkList.get(i).getInstallStatus() == 1) { DialogUtils.showWarningDialog(CleanApkActivity.this, "删除安装包" - , "你选择的安装包中包含未安装的应用,确定删除吗?", "取消 ", "确定" + , Html.fromHtml("你选择的安装包中包含"+ "未安装" + +"的应用,确定删除吗?"), "取消 ", "确定" , new DialogUtils.ConfiremListener() { @Override public void onConfirem() { @@ -187,6 +189,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On + "" + sizeName + ""+ "空间")); mScanPb.setVisibility(View.GONE); mApkSelectAll.setVisibility(View.VISIBLE); + mApkSelectAll.setChecked(true); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java index 7820d80345..bef409a8ef 100644 --- a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java +++ b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java @@ -213,7 +213,7 @@ public class DownloadManagerActivity extends BaseFragmentActivity implements public void onEventMainThread(EBSkip skip) { if ("DownloadManagerActivity".equals(skip.getType())) { - if (skip.getCurrentItem() == 0) { + if (skip.getCurrentItem() == 1) { handler.postDelayed(runnable, 300); } } diff --git a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java index d6d8353159..bca278260d 100644 --- a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java @@ -48,6 +48,7 @@ import java.net.DatagramSocket; import java.net.ServerSocket; import java.net.Socket; import java.text.DecimalFormat; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,6 +78,8 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd private List mFileInfos; + private List> sendData; // 传送成绩单数据 + private IpPortInfo mIpPortInfo; private ServerRunnable mReceiverServer; @@ -91,7 +94,6 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd private boolean isOpenWifi; //记录开热点前的WiFi状态 private boolean isDestroy; - private long mStartTime; Handler handler = new Handler() { @Override @@ -166,6 +168,8 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd mFileInfos = (List) AppController.get("FileInfo", false); + sendData = new ArrayList<>(); + mIpPortInfo = (IpPortInfo) getIntent().getSerializableExtra(Constant.KEY_IP_PORT_INFO); isOpenWifi = getIntent().getBooleanExtra("isOpenWifi", false); @@ -360,10 +364,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd mFileReceiver = new FileReceiver(socket, FileReceiverActivity.this); mFileReceiver.setOnReceiveListener(new FileReceiver.OnReceiveListener() { + private long mStartTime; + private long mNormalStartTime; @Override public void onStart() { Utils.log("快传文件接收::onStart"); mStartTime = Utils.getTime(FileReceiverActivity.this); + mNormalStartTime = System.currentTimeMillis(); } @Override @@ -406,6 +413,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd hashMap.put("receive_token", sp.getString("token", null)); DataCollectionManager.onEvent(FileReceiverActivity.this, "transfer", hashMap, false); Utils.log("快传文件接收成功::onSuccess:: 发送事件::" + sendTime); + + long sendNormalTime = System.currentTimeMillis() - mNormalStartTime; + Map map = new HashMap<>(); + map.put("sendTime", String.valueOf(sendNormalTime)); + map.put("apkPath",Environment.getExternalStorageDirectory() + "/GH-KC/" + mCurFileInfo.getName() + ".apk"); + map.put("apkSize", String.valueOf(mCurFileInfo.getSize())); + sendData.add(map); } @Override @@ -449,6 +463,11 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } private void initSenderHint(boolean isNoMemory) { + for (FileInfo mFileInfo : mFileInfos) { + if (mFileInfo.getResult() == 0 || mFileInfo.getResult() == 1) { // 还有没完成的任务 + return; + } + } mReceiverBottom.setVisibility(View.VISIBLE); mReceiverControl.setVisibility(View.VISIBLE); @@ -522,12 +541,7 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } //关闭热点 - HotspotManager.disableAp(this); - - mReceiverServer.close(); - AppController.remove("FileInfo"); - mFileInfos.clear(); - HotspotManager.disableAp(FileReceiverActivity.this); + HotspotManager.initUserAp(this); if (isOpenWifi) { WifiMgr.getInstance(this).openWifi(); @@ -554,8 +568,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } } - FileReceiverActivity.this.finish(); + mReceiverServer.close(); + AppController.remove("FileInfo"); + mFileInfos.clear(); + AppController.put("sendData", sendData); + + finish(); } private void backHint() { diff --git a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java index 2a85fe0bf9..f7c02306de 100644 --- a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java @@ -35,6 +35,7 @@ import java.net.InetAddress; import java.net.InetSocketAddress; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -59,12 +60,14 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte private DatagramSocket mDatagramSocket; private List mFileInfos; - - private List mFileSenderList = new ArrayList<>(); + private List> sendData; // 传送成绩单数据 + private List mFileSenderList; private boolean isSendOver; private boolean isDestroy; + private long mStartTime; + private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { @@ -103,6 +106,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte isDestroy = false; + sendData = new ArrayList<>(); mFileSenderList = new ArrayList<>(); mSenderAdapter = new FileSenderAdapter(this, mFileInfos); mSenderRv.setLayoutManager(new LinearLayoutManager(this)); @@ -272,6 +276,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte fileSender.setOnSendListener(new FileSender.OnSendListener() { @Override public void onStart() { + mStartTime = System.currentTimeMillis(); Utils.log("快传文件发送::onStart" + "==" + fileInfo.getName()); } @@ -293,6 +298,13 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte message.what = FileInfo.FLAG_SUCCESS; message.obj = getCurrentFileInfoIndex(fileInfo); handler.sendMessage(message); + + long sendTime = System.currentTimeMillis() - mStartTime; + Map map = new HashMap<>(); + map.put("sendTime", String.valueOf(sendTime)); + map.put("apkPath", fileInfo.getFilePath()); + map.put("apkSize", String.valueOf(fileInfo.getSize())); + sendData.add(map); } @Override @@ -420,9 +432,8 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte stopAllFileSendingTask(); AppController.remove("FileInfo"); + AppController.put("sendData", sendData); - setResult(0x171); - Utils.log("======zz" + 0x171); FileSenderActivity.this.finish(); } diff --git a/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java b/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java index 5ca8a61433..f9c322f04f 100644 --- a/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java +++ b/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java @@ -5,12 +5,15 @@ import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.CompoundButton; +import android.widget.RelativeLayout; import android.widget.TextView; import com.gh.base.AppController; import com.gh.base.BaseActivity; +import com.gh.common.util.DisplayUtils; import com.gh.common.util.Utils; import com.gh.gamecenter.adapter.KcSelectGameAdapter; import com.gh.gamecenter.kuaichuan.FileInfo; @@ -30,10 +33,13 @@ public class KcSelectGameActivity extends BaseActivity { @BindView(R.id.select_game_send) TextView mSelectSend; @BindView(R.id.select_game_all) CheckBox selectAll; @BindView(R.id.install_count) TextView installCount; + @BindView(R.id.select_game_installed_ll) RelativeLayout installRl; private KcSelectGameAdapter mAdapter; private boolean mIsConn; + private LinearLayoutManager layoutManager; + private RelativeLayout.LayoutParams rparams; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -57,10 +63,14 @@ public class KcSelectGameActivity extends BaseActivity { selectAll.setVisibility(View.GONE); - mAdapter = new KcSelectGameAdapter(this, mSelectSend); - mSelectRv.setLayoutManager(new LinearLayoutManager(this)); + mAdapter = new KcSelectGameAdapter(this, mSelectSend, installCount); + layoutManager = new LinearLayoutManager(this); + mSelectRv.setLayoutManager(layoutManager); mSelectRv.setAdapter(mAdapter); + rparams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, + DisplayUtils.dip2px(this, 40)); + mSelectSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -106,6 +116,35 @@ public class KcSelectGameActivity extends BaseActivity { } }); - installCount.setText("已安装的游戏(" + mAdapter.getItemCount() + ")"); + mSelectRv.setOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + super.onScrolled(recyclerView, dx, dy); + int position = layoutManager.findFirstVisibleItemPosition(); + + if (position >= mAdapter.getGameSize()) { + installCount.setText("已安装的应用(" + mAdapter.getAppSize() +")"); + } else { + installCount.setText("已安装的游戏(" + mAdapter.getGameSize() +")"); + } + + + if (position == mAdapter.getGameSize() - 1) { + int buttom = layoutManager.findViewByPosition(position).getBottom(); + if (buttom <= installRl.getHeight()) { + rparams.topMargin = buttom - installRl.getHeight(); + installRl.setLayoutParams(rparams); + } else { + rparams.topMargin = 0; + installRl.setLayoutParams(rparams); + } + } else { + rparams.topMargin = 0; + installRl.setLayoutParams(rparams); + } + + } + }); + } } diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index fa81476d25..c549d72f03 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -423,6 +423,7 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener String str = detail_tv_per.getText().toString(); if ("下载中".equals(str)) { Intent intent = new Intent(this, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); intent.putExtra("entrance", entrance + "(新闻详情[" + adapter.getTitle() + "])"); startActivity(intent); diff --git a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java index 8afda8689c..ebdcb07a32 100644 --- a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java @@ -9,6 +9,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Html; +import android.text.TextUtils; import android.view.View; import android.widget.RelativeLayout; import android.widget.TextView; @@ -54,6 +55,7 @@ public class ReceiverWaitingActivity extends BaseActivity { @BindView(R.id.waiting_hint) TextView mWaitingHint; @BindView(R.id.reuse_actionbar) RelativeLayout mActionbar; @BindView(R.id.waiting_gprs_hint) TextView mGPRSHint; + @BindView(R.id.waiting_no_conn_hint) TextView mNoConnHint; private WifiAPBroadcastReceiver mWifiAPBroadcastReceiver; @@ -87,6 +89,8 @@ public class ReceiverWaitingActivity extends BaseActivity { startActivity(intent); colsePage(); + } else if (msg.what == 1) { + mNoConnHint.setVisibility(View.VISIBLE); } } }; @@ -110,7 +114,6 @@ public class ReceiverWaitingActivity extends BaseActivity { isOpenWifi = WifiMgr.getInstance(this).isWifiEnable(); mUserName.setText(sp.getString("user_name", "光环用户")); - mUserIcon.setImageURI(UserIconUtils.getUserIcon(sp.getInt("default_user_icon", 1))); if (isOpenWifi) { WifiMgr.getInstance(this).closeWifi(); @@ -154,13 +157,28 @@ public class ReceiverWaitingActivity extends BaseActivity { registerReceiver(mWifiAPBroadcastReceiver, filter); HotspotManager.isApOn(this); - String chars = "abcdefghijklmnopqrstuvwxyz"; - int[] randomArray = RandomUtils.getRandomArray(2, 25); - mySsid = "ghZS-"; - for (int i : randomArray) { - mySsid = mySsid + chars.charAt(i); + + mySsid = sp.getString("hotspotName", null); + if (TextUtils.isEmpty(mySsid)) { + String chars = "abcdefghijklmnopqrstuvwxyz"; + int[] randomArray = RandomUtils.getRandomArray(2, 25); + + mySsid = "ghZS-"; + for (int i : randomArray) { + mySsid = mySsid + chars.charAt(i); + } + + int default_user_icon = sp.getInt("default_user_icon", 0); + if (default_user_icon == 0) { + default_user_icon = RandomUtils.nextInt(8) + 1; + sp.edit().putInt("default_user_icon", default_user_icon).apply(); + } + + mySsid = mySsid + default_user_icon; + sp.edit().putString("hotspotName", mySsid).apply(); } - mySsid = mySsid + sp.getInt("default_user_icon", 1); + mUserIcon.setImageURI(UserIconUtils.getUserIcon(sp.getInt("default_user_icon", 1))); + HotspotManager.configApState(this, mySsid); // change Ap state :boolean findViewById(R.id.actionbar_rl_back).setOnClickListener( @@ -176,6 +194,8 @@ public class ReceiverWaitingActivity extends BaseActivity { } } }); + + mHandler.sendEmptyMessageDelayed(1, 300000); } /** @@ -315,6 +335,8 @@ public class ReceiverWaitingActivity extends BaseActivity { private void colsePage() { mRadarLayout.stop(); + mHandler.removeMessages(1); // 取消无人连接消息 + try { if(mWifiAPBroadcastReceiver != null){ unregisterReceiver(mWifiAPBroadcastReceiver); diff --git a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java index 4db2e16072..1d20798c4f 100644 --- a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java @@ -13,6 +13,7 @@ import android.widget.Toast; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; +import com.gh.common.util.RandomUtils; import com.gh.common.util.TokenUtils; import com.gh.common.util.Utils; import com.gh.gamecenter.retrofit.JSONObjectResponse; @@ -149,6 +150,18 @@ public class SelectUserIconActivity extends BaseActivity { String icon = response.getString("icon"); sp.edit().putInt("default_user_icon", i).apply(); + + //初始化热点名称 + String chars = "abcdefghijklmnopqrstuvwxyz"; + int[] randomArray = RandomUtils.getRandomArray(2, 25); + + String mySsid = "ghZS-"; + for (int i : randomArray) { + mySsid = mySsid + chars.charAt(i); + } + mySsid = mySsid + i; + sp.edit().putString("hotspotName", mySsid).apply(); + Intent intent = new Intent(); intent.putExtra("url", icon); setResult(0x125, intent); diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java index edde249477..6c12ba2d60 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java @@ -91,7 +91,7 @@ public class ShareCardActivity extends BaseActivity { mShareScreenshotLl.buildDrawingCache(); Bitmap drawingCache = mShareScreenshotLl.getDrawingCache(); saveBitmap(drawingCache); - MessageShareUtils.getInstance(ShareCardActivity.this).showShareWindows(mShareBottomLl, drawingCache, picName, false); + MessageShareUtils.getInstance(ShareCardActivity.this).showShareWindows(mShareBottomLl, drawingCache, picName, 0); } }, 200); diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java index b64163cab6..4a44cdcf48 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java @@ -223,7 +223,7 @@ public class ShareCardPicActivity extends BaseActivity { shareBm = getBitmapByView(mShareScreenshotRl); saveBitmap(shareBm); - MessageShareUtils.getInstance(ShareCardPicActivity.this).showShareWindows(new View(ShareCardPicActivity.this), shareBm, picName, true); + MessageShareUtils.getInstance(ShareCardPicActivity.this).showShareWindows(new View(ShareCardPicActivity.this), shareBm, picName, 1); } @OnClick(R.id.sharecard_chang_img) diff --git a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java index 7bbb055646..aa9ebceaf1 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java @@ -6,6 +6,7 @@ import android.content.SharedPreferences; import android.graphics.Color; import android.os.Bundle; import android.text.Html; +import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; @@ -118,13 +119,25 @@ public class ShareGhWfifActivity extends BaseActivity { HotspotManager.isApOn(this); - String chars = "abcdefghijklmnopqrstuvwxyz"; - int[] randomArray = RandomUtils.getRandomArray(2, 25); - mySsid = "ghZS-"; - for (int i : randomArray) { - mySsid = mySsid + chars.charAt(i); + mySsid = sp.getString("hotspotName", null); + if (TextUtils.isEmpty(mySsid)) { + String chars = "abcdefghijklmnopqrstuvwxyz"; + int[] randomArray = RandomUtils.getRandomArray(2, 25); + + mySsid = "ghZS-"; + for (int i : randomArray) { + mySsid = mySsid + chars.charAt(i); + } + + int default_user_icon = sp.getInt("default_user_icon", 0); + if (default_user_icon == 0) { + default_user_icon = RandomUtils.nextInt(8) + 1; + sp.edit().putInt("default_user_icon", default_user_icon).apply(); + } + + mySsid = mySsid + default_user_icon; + sp.edit().putString("hotspotName", mySsid).apply(); } - mySsid = mySsid + sp.getInt("default_user_icon", 1); HotspotManager.configApState(this, mySsid); // change Ap state :boolean } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java index 65166342e0..526b8b075e 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java @@ -15,7 +15,6 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.CompoundButton; import android.widget.TextView; import com.gh.common.util.BitmapUtils; @@ -144,7 +143,7 @@ public class CleanApkAdapter extends RecyclerView.Adapter" + sizeName + ""); // holder.gameSize.setText(spanned); + holder.checkBoxRl.setVisibility(View.VISIBLE); holder.selectCB.setVisibility(View.VISIBLE); if (mSelectPosition.get(position)) { holder.selectCB.setChecked(true); @@ -232,29 +232,28 @@ public class CleanApkAdapter extends RecyclerView.Adapter selectPosition; // 记录选择游戏的位置 private List gameList; + private List apkList; + private List sendOverList; //发送过的游戏 private int cardMargin; - public KcSelectGameAdapter(KcSelectGameActivity activity, TextView selectCount) { + private boolean isLoadApp; + + Handler handler = new Handler(); + + public KcSelectGameAdapter(KcSelectGameActivity activity, TextView selectCount, TextView installCount) { this.context = activity; this.mSelectCount = selectCount; + this.installCount = installCount; gameList = new ArrayList<>(); + apkList = new ArrayList<>(); selectPosition = new HashMap<>(); + isLoadApp = false; + sendOverList = (List) AppController.get("FileInfo", false); cardMargin = (int) context.getResources().getDimension(R.dimen.cardview_margin); ConcernManager cManager = new ConcernManager(context); - List runnableGame = cManager.getInstalledGame(); + final List runnableGame = cManager.getInstalledGame(); if (runnableGame.isEmpty()) { activity.loadEmpty(); } else { - init(runnableGame); + new Thread(new Runnable() { + @Override + public void run() { + init(runnableGame); + } + }).start(); } } @@ -86,33 +108,50 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter= position + 1) { + initGameNormal((KcSelectGameViewHolder) holder, gameList.get(position), position); + } else { + initGameNormal((KcSelectGameViewHolder) holder, apkList.get(position - gameList.size() - 1), position); + } + + } else if (holder instanceof FooterViewHolder) { + FooterViewHolder viewHolder = ((FooterViewHolder) holder); + if (position > 0) { + viewHolder.loading.setVisibility(View.GONE); + viewHolder.hint.setTextColor(context.getResources().getColor(R.color.theme)); + viewHolder.hint.setText("查看更多"); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + isLoadApp = true; + notifyDataSetChanged(); + } + }); + } } } @@ -142,7 +209,10 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter= 0 && position < gameList.size()) { return ItemViewType.GAME_NORMAL; } + if (gameList.size() == position) { + if (isLoadApp) { + return 101; + } else { + return ItemViewType.LOADING; + } + } + if (isLoadApp) { + return ItemViewType.GAME_NORMAL; + } return ItemViewType.LOADING; } private void initGameNormal(final KcSelectGameViewHolder holder, final InstallGameEntity gameEntity, final int i) { // 第一个 - if (i == 0) { - ((CardLinearLayout) holder.itemView).setmTop(cardMargin); + if (i == 0 || i == gameList.size() + 1) { + if (i == 0) { + ((CardLinearLayout) holder.itemView).setmTop((cardMargin + 80)); //TODO 适配 + } else { + ((CardLinearLayout) holder.itemView).setmTop(cardMargin); + } } else { ((CardLinearLayout) holder.itemView).setmTop(0); } @@ -170,7 +254,7 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter" + sizeName + ""); @@ -191,15 +275,22 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter fileInfos = new ArrayList<>(); long l = System.currentTimeMillis(); for (int i = 0; i < selectPosition.keySet().size(); i++) { - if (selectPosition.get(i)) { - InstallGameEntity installGameEntity = gameList.get(i); - + if (selectPosition.get(i) != null && selectPosition.get(i)) { + InstallGameEntity installGameEntity; + if (i + 1 <= gameList.size()) { + installGameEntity = gameList.get(i); + } else { + installGameEntity = apkList.get(i - gameList.size() - 1); + } + Utils.log("======" + installGameEntity.getGameName()); FileInfo fileInfo = new FileInfo(); fileInfo.setName(installGameEntity.getGameName()); fileInfo.setFilePath(installGameEntity.getGamePath()); @@ -268,4 +363,18 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter"+"好友还没安装光环助手?点这里"+"")); + shareGh.setText(Html.fromHtml(""+"好友还没安装光环助手?请点这里"+"")); shareGh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -80,9 +105,131 @@ public class FileSendFragment extends Fragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - Utils.log("======zzzz" + 0x170 + "===" + 0x171 + "==" + requestCode + "==" + resultCode); - if (requestCode == 0x170 && resultCode == 0x171) { - Utils.toast(getContext(), "显示弹窗啦"); + + // 分享成绩单 + if (requestCode == 0x170 || requestCode == 0x180) { + List> mapList = (List>) AppController.get("sendData", true); + if (mapList == null || mapList.size() == 0) return; + + int filesCount = mapList.size(); + int filesSize = 0; + int sendTime = 0; + + View view = View.inflate(getContext() + , R.layout.dialog_kuaichuan, null); + final LinearLayout mShareLl = (LinearLayout) view.findViewById(R.id.kuaichuan_dialog_ll); + final LinearLayout mShareBottomLl = (LinearLayout) view.findViewById(R.id.kuaichuan_dialog_share_rl); + LinearLayout shareIconLl = (LinearLayout) view.findViewById(R.id.kuaichuan_icon_ll); + ImageView qrCode = (ImageView) view.findViewById(R.id.kuaichuan_qrcode); + TextView dateTv = (TextView) view.findViewById(R.id.kuaichuan_dialog_date); + TextView countTv = (TextView) view.findViewById(R.id.kuaichuan_send_count); + TextView sizeTv = (TextView) view.findViewById(R.id.kuaichuan_send_size); + TextView speedTv = (TextView) view.findViewById(R.id.kuaichuan_send_speed); + TextView timeCount = (TextView) view.findViewById(R.id.kuaichuan_time_count); + TextView timeTv = (TextView) view.findViewById(R.id.kuaichuan_time_tv); + TextView sendCountTv = (TextView) view.findViewById(R.id.dialog_send_tv); + ImageView closeIv = (ImageView) view.findViewById(R.id.kuaichuan_dialog_colse); + final Dialog dialog = new Dialog(getContext()); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setCanceledOnTouchOutside(false); + dialog.show(); + dialog.setContentView(view); + + SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()); + dateTv.setText(format.format(new Date().getTime())); + + for (Map map : mapList) { + int size = Integer.parseInt(map.get("apkSize")); + int time = Integer.parseInt(map.get("sendTime")); + String apkPath = map.get("apkPath"); + filesSize = filesSize + size; + sendTime = sendTime + time; + + if (shareIconLl.getChildCount() >= 5) continue; + + android.content.pm.PackageManager pm = getContext().getPackageManager(); + PackageInfo info = pm.getPackageArchiveInfo(apkPath, + android.content.pm.PackageManager.GET_ACTIVITIES); + if (info != null) { + ApplicationInfo appInfo = info.applicationInfo; + appInfo.sourceDir = apkPath; + appInfo.publicSourceDir = apkPath; + Bitmap bitmap = BitmapUtils.drawableToBitmap(appInfo.loadIcon(pm)); + + ImageView imageView = new ImageView(getContext()); + imageView.setLayoutParams(new LinearLayout.LayoutParams(DisplayUtils.dip2px(getContext(), 25) + , DisplayUtils.dip2px(getContext(), 24))); + imageView.setImageBitmap(bitmap); + shareIconLl.addView(imageView); + } + } + + if (requestCode == 0x170) { // 发送 + qrCode.setImageResource(R.drawable.kc_qrcode_120); + sendCountTv.setText("成功传送游戏"); + } else { + qrCode.setImageResource(R.drawable.kc_qrcode_110); + sendCountTv.setText("成功接收游戏"); + } + + double size = (((float)filesSize/1024)/1024); + String sizeName; + if (size > 1024) { + DecimalFormat df = new DecimalFormat("#.0"); + sizeName = df.format(size/1024) + "GB"; + } else { + DecimalFormat df = new DecimalFormat("#.0"); + sizeName = df.format(size) + "MB"; + } + + + int i = (filesSize / 1024) / (sendTime / 1000); + String speed = SpeedUtils.getSpeed(i); + + if (sendTime > 60000) { + timeCount.setText(String.valueOf(sendTime/1000/60)); + timeTv.setText("分传送完成"); + } else { + timeCount.setText(String.valueOf(sendTime/1000)); + timeTv.setText("秒传送完成"); + } + + sizeTv.setText(sizeName); + speedTv.setText(speed); + countTv.setText(filesCount + "个"); + + // 延迟操作,等待截图部分绘制完成 + handler.postDelayed(new Runnable() { + @Override + public void run() { + mShareLl.setDrawingCacheEnabled(true); + mShareLl.buildDrawingCache(); + Bitmap drawingCache = mShareLl.getDrawingCache(); + saveBitmap(drawingCache); + MessageShareUtils.getInstance(getContext()).showShareWindows(mShareBottomLl, drawingCache, picName, 2); + } + }, 200); + + closeIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.cancel(); + } + }); + } } + + public void saveBitmap(Bitmap bm) { + File file = new File(getActivity().getExternalCacheDir().getPath() + "/ShareImg"); + if (!file.isDirectory()) { + file.delete(); + file.mkdirs(); + } + if (!file.exists()) { + file.mkdirs(); + } + MessageShareUtils.getInstance(getContext()).writeBitmap(file.getPath(), picName, bm, false); + + } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java index 4cb9956fb8..6592dd1986 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java @@ -326,7 +326,7 @@ public class GameDownLoadFragment extends Fragment implements View.OnClickListen public void onEventMainThread(EBUISwitch busNine) { if ("DownloadManagerActivity".equals(busNine.getFrom())) { - if (busNine.getPosition() != 0) { + if (busNine.getPosition() != 1) { adapter.getDeleteList().clear(); } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java index dc30e21b62..78a0b53e36 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -453,7 +453,7 @@ class GameUpdateFragmentAdapter extends RecyclerView.Adapter getUpdateList() { diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java index f1638f2b7d..cbc4f4dd1f 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java @@ -120,6 +120,10 @@ public class HotspotManager { // toggle wifi hotspot on or off, and specify the hotspot name public static boolean configApState(Context context, String apName) { + if (WifiMgr.getInstance(context).isWifiEnable()) { + WifiMgr.getInstance(context).closeWifi(); + } + android.net.wifi.WifiManager wifimanager = (android.net.wifi.WifiManager) context.getSystemService(context.WIFI_SERVICE); WifiConfiguration wificonfiguration = null; try { diff --git a/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java b/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java index 719312cda1..e57b3131b5 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java @@ -10,6 +10,7 @@ import android.widget.TextView; import com.gh.base.BaseFragment; import com.gh.common.util.DownloadItemUtils; +import com.gh.common.view.SwipeLayout; import com.gh.download.DataWatcher; import com.gh.download.DownloadEntity; import com.gh.download.DownloadManager; @@ -28,7 +29,7 @@ import de.greenrobot.event.EventBus; * Created by LGT on 2016/8/12. * 我的关注-已安装界面 */ -public class InstallFragment extends BaseFragment { +public class InstallFragment extends BaseFragment implements InstallFragmentAdapter.onSmoothLayoutListener { @BindView(R.id.fm_install_rv_show) RecyclerView fm_install_rv_show; @BindView(R.id.reuse_nodata_skip) LinearLayout reuse_nodata_skip; @@ -118,4 +119,12 @@ public class InstallFragment extends BaseFragment { DownloadManager.getInstance(getActivity()).removeObserver(dataWatcher); } + // 滑动item + @Override + public void onSmooth() { + View childAt = fm_install_rv_show.getChildAt(fm_install_rv_show.getChildCount() - 2); + SwipeLayout swipeLayout = (SwipeLayout) childAt.findViewById(R.id.swipeLayout); + if (swipeLayout == null) return; + swipeLayout.openAndColse(); + } } diff --git a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java index 533e29ac8e..132d71db9f 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java @@ -12,6 +12,7 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import com.gh.base.AppController; import com.gh.common.constant.Config; @@ -26,7 +27,6 @@ import com.gh.common.util.GameViewUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.TrafficUtils; -import com.gh.common.util.Utils; import com.gh.common.view.SwipeLayout; import com.gh.download.DownloadManager; import com.gh.gamecenter.ChooseReceiverActivity; @@ -64,6 +64,8 @@ class InstallFragmentAdapter extends RecyclerView.Adapter gameList; @@ -89,6 +91,7 @@ class InstallFragmentAdapter extends RecyclerView.Adapter(); sortedList = new ArrayList<>(); @@ -365,8 +368,15 @@ class InstallFragmentAdapter extends RecyclerView.Adapter maxWidth/2) { + if (leftOffset > maxWidth/3.5) { // holder.swipeText.setPadding(0, 0, DisplayUtils.dip2px(context, 30), 0); holder.swipeText.setVisibility(View.GONE); holder.swipeShareText.setVisibility(View.VISIBLE); @@ -549,12 +559,15 @@ class InstallFragmentAdapter extends RecyclerView.Adapter + + + + + diff --git a/app/src/main/res/layout/activity_clean_apk.xml b/app/src/main/res/layout/activity_clean_apk.xml index ffeb576c9c..8282cc3a56 100644 --- a/app/src/main/res/layout/activity_clean_apk.xml +++ b/app/src/main/res/layout/activity_clean_apk.xml @@ -15,7 +15,7 @@ android:layout_width="match_parent" android:layout_height="40dp" android:background="@android:color/white" - android:paddingLeft="8dp"> + android:paddingLeft="20dp"> + android:textColor="@color/text_downloading_style" /> diff --git a/app/src/main/res/layout/activity_kc_select_game.xml b/app/src/main/res/layout/activity_kc_select_game.xml index 103100a604..dc0ea047e7 100644 --- a/app/src/main/res/layout/activity_kc_select_game.xml +++ b/app/src/main/res/layout/activity_kc_select_game.xml @@ -10,6 +10,12 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + - + android:layout_marginTop="10dp" /> @@ -48,18 +47,26 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" - android:textSize="18sp" - android:text="连接状态"/> + android:textSize="18sp" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/game_normal_item_swipe.xml b/app/src/main/res/layout/game_normal_item_swipe.xml index 3aa7c5fea5..6a5f2d54eb 100644 --- a/app/src/main/res/layout/game_normal_item_swipe.xml +++ b/app/src/main/res/layout/game_normal_item_swipe.xml @@ -11,7 +11,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="15sp" - android:gravity="center" + android:gravity="center_vertical" android:layout_centerVertical="true" android:textColor="@color/content" android:paddingRight="25dp" diff --git a/app/src/main/res/layout/installfragment_footerview.xml b/app/src/main/res/layout/installfragment_footerview.xml index e79c6f0340..c7e170775d 100644 --- a/app/src/main/res/layout/installfragment_footerview.xml +++ b/app/src/main/res/layout/installfragment_footerview.xml @@ -8,21 +8,45 @@ android:gravity="center"> - + + + + + + + + - - \ No newline at end of file