From ef1f2251b5a6dca09e734815c567f2d7abe9bb03 Mon Sep 17 00:00:00 2001 From: khy <18814188563@163.com> Date: Wed, 22 Feb 2017 10:17:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E4=BC=A0=E5=A2=9E=E5=8A=A0=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E5=8A=A8=E7=94=BB=20=E5=AE=89=E8=A3=85=E5=8C=85?= =?UTF-8?q?=E6=B8=85=E7=90=86=E4=BC=98=E5=8C=96=E9=81=8D=E5=8E=86apk?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E9=98=B2=E6=AD=A2=E5=86=85=E5=AD=98=E6=BA=A2?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=20=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- app/src/main/assets/Home.html | 10 +- .../java/com/gh/common/util/ShareUtils.java | 10 +- .../com/gh/common/util/UserIconUtils.java | 23 ++ .../java/com/gh/common/view/RadarLayout.java | 255 +++++++++++++ .../java/com/gh/common/view/SwipeLayout.java | 1 - .../gh/gamecenter/ChooseReceiverActivity.java | 223 ++++++++++- .../com/gh/gamecenter/CleanApkActivity.java | 8 +- .../gamecenter/DownloadManagerActivity.java | 27 +- .../gh/gamecenter/FileReceiverActivity.java | 123 +++++-- .../com/gh/gamecenter/FileSenderActivity.java | 30 +- .../gh/gamecenter/KcSelectGameActivity.java | 8 +- .../gamecenter/ReceiverWaitingActivity.java | 68 ++-- .../gh/gamecenter/SelectUserIconActivity.java | 82 ++++- .../com/gh/gamecenter/ShareGhActivity.java | 2 +- .../gh/gamecenter/ShareGhWfifActivity.java | 88 ++++- .../gamecenter/adapter/CleanApkAdapter.java | 112 +++--- .../adapter/FileReceiverAdapter.java | 29 +- .../gamecenter/adapter/FileSenderAdapter.java | 21 +- .../adapter/KcSelectGameAdapter.java | 72 +++- .../viewholder/GameNormalSwipeViewHolder.java | 2 + .../viewholder/KcSelectGameViewHolder.java | 4 +- .../gamecenter/download/FileSendFragment.java | 11 +- .../com/gh/gamecenter/kuaichuan/FileInfo.java | 1 + .../gh/gamecenter/kuaichuan/FileReceiver.java | 43 ++- .../gamecenter/kuaichuan/HotspotManager.java | 61 +++ .../gh/gamecenter/kuaichuan/IpPortInfo.java | 12 +- .../personal/InstallFragmentAdapter.java | 56 ++- .../gamecenter/personal/PersonalFragment.java | 9 + .../gh/gamecenter/retrofit/UserService.java | 4 + app/src/main/res/anim/huojian_test_anim.xml | 6 + .../anyshare_scan_anim_rocket_fire.png | Bin 0 -> 1426 bytes .../res/drawable-hdpi/hotspot_failed_icon.png | Bin 0 -> 949 bytes .../installfragment_footerview_icon.png | Bin 28914 -> 30000 bytes .../res/drawable-hdpi/kuaichuan_rocket_bg.jpg | Bin 0 -> 176990 bytes .../drawable-hdpi/kuaichuan_rocket_body.png | Bin 0 -> 28004 bytes .../drawable-hdpi/kuaichuan_rocket_circle.png | Bin 0 -> 6524 bytes .../drawable-hdpi/kuaichuan_rocket_fire.png | Bin 0 -> 11027 bytes .../anyshare_scan_anim_rocket_body.png | Bin 0 -> 3713 bytes app/src/main/res/drawable/sender_hint_bg.xml | 2 +- .../res/layout/activity_choosereceiver.xml | 347 +++++++++++------- .../main/res/layout/activity_clean_apk.xml | 48 ++- .../res/layout/activity_downloadmanager.xml | 33 +- .../main/res/layout/activity_file_sender.xml | 82 +++-- .../res/layout/activity_kc_select_game.xml | 45 ++- .../res/layout/activity_receiver_waiting.xml | 30 +- app/src/main/res/layout/activity_share_gh.xml | 20 +- .../res/layout/activity_share_gh_wifi.xml | 239 +++++++----- .../res/layout/game_normal_item_swipe.xml | 323 ++++++++-------- .../res/layout/installfragment_footerview.xml | 22 +- .../main/res/layout/kc_game_select_item.xml | 29 +- 51 files changed, 1902 insertions(+), 723 deletions(-) create mode 100644 app/src/main/java/com/gh/common/view/RadarLayout.java create mode 100644 app/src/main/res/anim/huojian_test_anim.xml create mode 100644 app/src/main/res/drawable-hdpi/anyshare_scan_anim_rocket_fire.png create mode 100644 app/src/main/res/drawable-hdpi/hotspot_failed_icon.png create mode 100644 app/src/main/res/drawable-hdpi/kuaichuan_rocket_bg.jpg create mode 100644 app/src/main/res/drawable-hdpi/kuaichuan_rocket_body.png create mode 100644 app/src/main/res/drawable-hdpi/kuaichuan_rocket_circle.png create mode 100644 app/src/main/res/drawable-hdpi/kuaichuan_rocket_fire.png create mode 100644 app/src/main/res/drawable-nodpi/anyshare_scan_anim_rocket_body.png diff --git a/app/build.gradle b/app/build.gradle index ba0617135f..b0778d2ad8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.gh.gamecenter" minSdkVersion 14 targetSdkVersion 21 - versionCode 18 - versionName "2.3" + versionCode 19 + versionName "2.4" // 默认的渠道 // manifestPlaceholders = [CHANNEL_VALUE: "GH_TEST"] diff --git a/app/src/main/assets/Home.html b/app/src/main/assets/Home.html index ffb1fa9257..bda116ef72 100644 --- a/app/src/main/assets/Home.html +++ b/app/src/main/assets/Home.html @@ -1,5 +1,5 @@ - + 光环助手 @@ -56,10 +56,10 @@ article {
-

光环助手

-

乐于分享的人
是最帅的^_^

-
- DOWNLOAD +

光环助手

+
乐于分享的人是最帅的^_^
仅限安卓系统

+
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 ed29c92211..9959a0cd6f 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -230,7 +230,7 @@ public class ShareUtils { Intent data=new Intent(Intent.ACTION_SENDTO); data.setData(Uri.parse("mailto:")); data.putExtra(Intent.EXTRA_SUBJECT, "快来试试光环助手"); - data.putExtra(Intent.EXTRA_TEXT, "我用光环助手一段时间了,在里面可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,做日常效率提高3-5倍!\n" + + data.putExtra(Intent.EXTRA_TEXT, "我用光环助手一段时间了,在里面可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,日常效率提高3-5倍!\n" + "\n" + "不用肝的感觉真好,快来试试。\n" + "\n" + @@ -292,7 +292,7 @@ public class ShareUtils { } } } else { - title = "不用肝的感觉真好"; + title = "玩手游不用肝的感觉真好"; summary = "绿色安全的手游加速助手"; } params.putString(QQShare.SHARE_TO_QQ_TITLE, title); @@ -333,7 +333,7 @@ public class ShareUtils { } } } else { - title = "不用肝的感觉真好"; + title = "玩手游不用肝的感觉真好"; summary = "绿色安全的手游加速助手"; } @@ -371,7 +371,7 @@ public class ShareUtils { } } } else { - title = "不用肝的感觉真好"; + title = "玩手游不用肝的感觉真好"; summary = "绿色安全的手游加速助手"; } @@ -465,7 +465,7 @@ public class ShareUtils { } } } else { - smsBody = "这个App可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,做日常效率提高3-5倍!光环助手官网:" + shareUrl; + smsBody = "这个App可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,日常效率提高3-5倍!光环助手官网地址:" + shareUrl; } Intent sendIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("smsto:")); diff --git a/app/src/main/java/com/gh/common/util/UserIconUtils.java b/app/src/main/java/com/gh/common/util/UserIconUtils.java index 4b627032fb..4c902fbb30 100644 --- a/app/src/main/java/com/gh/common/util/UserIconUtils.java +++ b/app/src/main/java/com/gh/common/util/UserIconUtils.java @@ -34,4 +34,27 @@ public class UserIconUtils { return "res:///" + R.drawable.user_default_icon1; } } + + public static String getUserIconUrl(int i) { + switch (i) { + case 1: + return "http://image.ghzhushou.com/pic/default_icon_1.png"; + case 2: + return "http://image.ghzhushou.com/pic/default_icon_2.png"; + case 3: + return "http://image.ghzhushou.com/pic/default_icon_3.png"; + case 4: + return "http://image.ghzhushou.com/pic/default_icon_4.png"; + case 5: + return "http://image.ghzhushou.com/pic/default_icon_5.png"; + case 6: + return "http://image.ghzhushou.com/pic/default_icon_6.png"; + case 7: + return "http://image.ghzhushou.com/pic/default_icon_7.png"; + case 8: + return "http://image.ghzhushou.com/pic/default_icon_8.png"; + default: + return "http://image.ghzhushou.com/pic/default_icon_1.png"; + } + } } diff --git a/app/src/main/java/com/gh/common/view/RadarLayout.java b/app/src/main/java/com/gh/common/view/RadarLayout.java new file mode 100644 index 0000000000..6472e3e30d --- /dev/null +++ b/app/src/main/java/com/gh/common/view/RadarLayout.java @@ -0,0 +1,255 @@ +package com.gh.common.view; + +import android.animation.Animator; +import android.animation.AnimatorSet; +import android.animation.ObjectAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; +import android.view.animation.LinearInterpolator; +import android.widget.FrameLayout; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by khy on 2017/2/16. + * 快传接收方 的雷达动画 + */ +public class RadarLayout extends FrameLayout { + + public static final int INFINITE = 0; + + private static final int DEFAULT_COUNT = 4; + private static final int DEFAULT_COLOR = Color.rgb(0, 116, 193); + private static final int DEFAULT_DURATION = 7000; + private static final int DEFAULT_REPEAT = INFINITE; + private static final int DEFAULT_STROKE_WIDTH = 2; + + private int mCount; + private int mDuration; + private int mRepeat; + + private AnimatorSet mAnimatorSet; + + private Paint mPaint; + private int mColor; + private float mRadius; + private float mCenterX; + private float mCenterY; + private int mStrokeWidth; + private boolean mIsStarted; + private boolean mUseRing; + + public RadarLayout(Context context) { + super(context); + initGlobalparams(); + } + + public RadarLayout(Context context, AttributeSet attrs) { + super(context, attrs); + initGlobalparams(); + } + + public RadarLayout(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initGlobalparams(); + } + + private void initGlobalparams() { + mColor = DEFAULT_COLOR; + mCount = DEFAULT_COUNT; + mDuration = DEFAULT_DURATION; + mRepeat = DEFAULT_REPEAT; + mUseRing = false; + mStrokeWidth = dip2px(DEFAULT_STROKE_WIDTH); + + build(); + } + + public synchronized void start() { + if (mAnimatorSet == null || mIsStarted) { + return; + } + + mAnimatorSet.start(); + } + + public synchronized void stop() { + if (mAnimatorSet == null || !mIsStarted) { + return; + } + mAnimatorSet.end(); + } + + public synchronized boolean isStarted() { + return (mAnimatorSet != null && mIsStarted); + } + + public int getCount() { + return mCount; + } + + public int getDuration() { + return mDuration; + } + + public void setCount(int count) { + if (count < 0) { + throw new IllegalArgumentException("Count cannot be negative"); + } + + if (count != mCount) { + mCount = count; + reset(); + invalidate(); + } + } + + public void setDuration(int millis) { + if (millis < 0) { + throw new IllegalArgumentException("Duration cannot be negative"); + } + + if (millis != mDuration) { + mDuration = millis; + reset(); + invalidate(); + } + } + + public void setColor(int color) { + if (mColor != color) { + mColor = color; + reset(); + invalidate(); + } + } + + public void setUseRing(boolean useRing) { + if (mUseRing != useRing) { + mUseRing = useRing; + reset(); + invalidate(); + } + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + int width = getMeasuredWidth() - getPaddingLeft() - getPaddingRight(); + int height = getMeasuredHeight() - getPaddingTop() - getPaddingBottom(); + + // 确定圆的圆点坐标及半径 + mCenterX = width * 0.5f; + mCenterY = height * 0.5f; + mRadius = Math.min(width, height) * 0.5f; + } + + private void clear() { + stop(); + removeAllViews(); + } + + private void build() { + + LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); + + int repeatCount = (mRepeat == INFINITE) ? ObjectAnimator.INFINITE : mRepeat; + + List animators = new ArrayList(); + for (int index = 0; index < mCount; index++) { + RadarView radarView = new RadarView(getContext()); + radarView.setScaleX(0); + radarView.setScaleY(0); + radarView.setAlpha(1); + + addView(radarView, index, params); + + // 计算时间间隔 + long delay = index * mDuration / mCount; + + // 属性动画 + animators.add(create(radarView, "scaleX", repeatCount, delay, 0, 1)); + animators.add(create(radarView, "scaleY", repeatCount, delay, 0, 1)); + animators.add(create(radarView, "alpha", repeatCount, delay, 1, 0)); + } + + mAnimatorSet = new AnimatorSet(); + mAnimatorSet.playTogether(animators); + mAnimatorSet.setInterpolator(new LinearInterpolator()); + mAnimatorSet.setDuration(mDuration); + mAnimatorSet.addListener(mAnimatorListener); + } + + private ObjectAnimator create(View target, String propertyName, int repeatCount, long delay, float from, float to) { + ObjectAnimator animator = ObjectAnimator.ofFloat(target, propertyName, from, to); + animator.setRepeatCount(repeatCount); + animator.setRepeatMode(ObjectAnimator.RESTART); + animator.setStartDelay(delay); + return animator; + } + + private void reset() { + boolean isStarted = isStarted(); + + clear(); + build(); + + if (isStarted) { + start(); + } + } + + private class RadarView extends View { + + public RadarView(Context context) { + super(context); + } + + @Override + protected void onDraw(Canvas canvas) { + if (null == mPaint) { + mPaint = new Paint(); + mPaint.setColor(mColor); + mPaint.setAntiAlias(true); + // 注意Style的用法,【STROKE:画环】【FILL:画圆】 + mPaint.setStyle(mUseRing ? Paint.Style.STROKE : Paint.Style.FILL); + mPaint.setStrokeWidth(mUseRing ? mStrokeWidth : 0); + } + // 画圆或环 + canvas.drawCircle(mCenterX, mCenterY, mUseRing ? mRadius - mStrokeWidth : mRadius, mPaint); + } + } + + private int dip2px(float dpValue) { + final float scale = getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + private final Animator.AnimatorListener mAnimatorListener = new Animator.AnimatorListener() { + + @Override + public void onAnimationStart(Animator animator) { + mIsStarted = true; + } + + @Override + public void onAnimationEnd(Animator animator) { + mIsStarted = false; + } + + @Override + public void onAnimationCancel(Animator animator) { + mIsStarted = false; + } + + @Override + public void onAnimationRepeat(Animator animator) { + } + }; +} \ No newline at end of file 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 0fbb5d9a24..3c49709c97 100644 --- a/app/src/main/java/com/gh/common/view/SwipeLayout.java +++ b/app/src/main/java/com/gh/common/view/SwipeLayout.java @@ -524,7 +524,6 @@ public class SwipeLayout extends FrameLayout { private int mEventCounter = 0; protected void dispatchSwipeEvent(int surfaceLeft, int surfaceTop, int dx, int dy) { - Utils.log("=======dispatchSwipeEvent"); DragEdge edge = getDragEdge(); boolean open = true; if (edge == DragEdge.Left) { diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java index 1b445416a0..ecb4626fd4 100644 --- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java @@ -1,14 +1,24 @@ package com.gh.gamecenter; +import android.animation.Animator; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Color; import android.net.wifi.ScanResult; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Html; +import android.view.Gravity; import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.ScaleAnimation; +import android.view.animation.TranslateAnimation; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; @@ -20,6 +30,7 @@ import com.gh.base.AppController; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; import com.gh.common.util.DialogUtils; +import com.gh.common.util.DisplayUtils; import com.gh.common.util.UserIconUtils; import com.gh.common.util.Utils; import com.gh.gamecenter.kuaichuan.BaseTransfer; @@ -65,6 +76,12 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick @BindView(R.id.scan_user_des) TextView mScanUserDes; @BindView(R.id.reuse_actionbar) RelativeLayout mActionbar; @BindView(R.id.scan_hint) TextView mScanHint; + @BindView(R.id.choosereceiver_roket_anim) RelativeLayout mRoketAnimRl; + @BindView(R.id.choosereceiver_ready_rl) RelativeLayout mRoketRl; + @BindView(R.id.choosereceiver_roket_anim_bottom) LinearLayout mRoketAnimBottom; + @BindView(R.id.choosereceiver_roket_anim_top) ImageView mRoketTop; + @BindView(R.id.choosereceiver_roket_left) ImageView mRoketAnimLeft; + @BindView(R.id.choosereceiver_roket_right) ImageView mRoketAnimRight; private List mScanResultList; @@ -78,6 +95,10 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick private SharedPreferences sp; + private ScaleAnimation mScaleAnimation; // 火箭喷火动画 + + private TranslateAnimation mTranslateAnimation; // 整个火箭移动页面 + Handler handler = new Handler() { @Override public void handleMessage(Message msg) { @@ -95,6 +116,20 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick View contentView = View.inflate(this, R.layout.activity_choosereceiver, null); init(contentView, "发送游戏"); + + // 添加分享图标 + TextView hintTv = new TextView(this); + hintTv.setText("操作说明"); + hintTv.setTextColor(Color.WHITE); + hintTv.setGravity(Gravity.CENTER); + hintTv.setPadding(DisplayUtils.dip2px(this, 13),0 ,DisplayUtils.dip2px(this, 13),0); + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT); + params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT ); + RelativeLayout reuse_actionbar = (RelativeLayout) contentView.findViewById( + R.id.reuse_actionbar); + reuse_actionbar.addView(hintTv, params); + //修改沉浸栏以及ActionBar 颜色 mActionbar.setBackgroundColor(getResources().getColor(R.color.scan_bg)); SystemBarTintManager tintManager = getTintManager(); @@ -103,13 +138,39 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick } init(); + + hintTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showConnHintDialog(); + } + }); + + boolean showConnHintDialog = sp.getBoolean("showConnHintDialog", true); + if (showConnHintDialog || (getIntent() != null && getIntent().getExtras() != null + && getIntent().getExtras().getBoolean("showConnHintDialog"))) { + if (showConnHintDialog) { + sp.edit().putBoolean("showConnHintDialog", false).apply(); + } + showConnHintDialog(); + } + } + + private void showConnHintDialog() { + DialogUtils.showHintDialog(ChooseReceiverActivity.this, "请告诉你的好友这样操作:", "1.拿出手机,打开光环助手 " + + "\n2.点击左上角“↓”按钮 \n3.点击“我要接收”", "确定"); } @OnClick(R.id.scan_hint) public void onScanHintListener() { - DialogUtils.showHintDialog(this, "请告诉你的好友这样操作:", "1.拿出手机,打开光环助手 " + - "\n2.点击首页左上角,进入下载管理 \n3.点击“零流量传送”,再点击“我要接收”", - "确定"); +// DialogUtils.showHintDialog(this, "请告诉你的好友这样操作:", "1.拿出手机,打开光环助手 " + +// "\n2.点击首页左上角,进入下载管理 \n3.点击“零流量传送”,再点击“我要接收”", +// "确定"); + + // TODO 关闭扫描?? + + Intent intent = new Intent(this, ShareGhActivity.class); + startActivity(intent); } private void init() { @@ -122,7 +183,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick .build(); mScanGif.setController(controller); - mScanHint.setText(Html.fromHtml(""+"搜不到对方?"+"")); + mScanHint.setText(Html.fromHtml(""+"好友还没安装光环助手?请点这里"+"")); isStopScan = false; isDestroy = false; @@ -225,6 +286,9 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick //1.连接网络 private void connReceiverWifi(int connPosition) { + // 进入动画页面 + readyAnimView(); + if (isStopScan) { return; } @@ -271,6 +335,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick startFileSenderServer(ipAddress); } catch (Exception e) { isStopScan = false; + handler.sendEmptyMessage(0); Utils.log("UDP通信异常--startFileSenderServer" + e.toString()); e.printStackTrace(); } @@ -305,6 +370,18 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick // mDatagramSocket = new DatagramSocket(serverPort); byte[] receiveData = new byte[1024]; byte[] sendData; + Utils.log("=====ip::" + ipAddress); + if (!ipAddress.equals("192.168.43.1")) { + // 连接失败,可能是连接的热点已经关闭, 关闭动画,开启扫描 + isStopScan = false; + handler.sendEmptyMessage(0); + handler.post(new Runnable() { + @Override + public void run() { + connFailedAnimView(); + } + }); + } InetAddress ipAddressName = InetAddress.getByName(ipAddress); // 转译 //发送 即将发送的文件列表 到文件接收方 @@ -336,13 +413,13 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick userMap.put("usericon", String.valueOf(conUserIconTag)); AppController.put("userMap", userMap); - // 进入文件发送列表界面 (并且通知文件接收方进入文件接收列表界面) - Intent intent = new Intent(ChooseReceiverActivity.this, FileSenderActivity.class); - startActivity(intent); - closeSocket(); - Intent resultIntent= new Intent(); - setResult(0x123, resultIntent); - finish(); + + handler.post(new Runnable() { + @Override + public void run() { + connSuccessAnimView(); + } + }); break; } } @@ -366,21 +443,143 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick } } + // 连接中-动画 + private void readyAnimView() { + + mRoketRl.setVisibility(View.VISIBLE); + mRoketRl.animate() + .alpha(1f) + .setDuration(1000) + .setListener(null); + + mScaleAnimation = new ScaleAnimation(0.5f, 0.8f, 0.5f, 0.8f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); + mScaleAnimation.setDuration(250); + mScaleAnimation.setRepeatCount(Animation.INFINITE); + mScaleAnimation.setRepeatMode(Animation.REVERSE); + + mRoketAnimLeft.startAnimation(mScaleAnimation); + mRoketAnimRight.startAnimation(mScaleAnimation); + } + + // 连接成功-动画 + private void connSuccessAnimView() { + if (mScaleAnimation != null) { + mScaleAnimation.cancel(); + } + AlphaAnimation alphaAnimation = new AlphaAnimation(1f, 0.6f); + alphaAnimation.setDuration(250); + alphaAnimation.setRepeatCount(Animation.INFINITE); + alphaAnimation.setRepeatMode(Animation.REVERSE); + mRoketAnimLeft.startAnimation(alphaAnimation); + mRoketAnimRight.startAnimation(alphaAnimation); + + mScaleAnimation = new ScaleAnimation(0.5f, 0.8f, 0.5f, 0.8f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); + mScaleAnimation.setDuration(250); + mScaleAnimation.setRepeatCount(Animation.INFINITE); + mScaleAnimation.setRepeatMode(Animation.REVERSE); + + mRoketAnimLeft.setImageResource(R.drawable.kuaichuan_rocket_fire); + mRoketAnimRight.setImageResource(R.drawable.kuaichuan_rocket_fire); + + LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mRoketAnimRight.getLayoutParams(); + layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT; + layoutParams.width = DisplayUtils.dip2px(this, 25); + + mRoketAnimRight.setLayoutParams(layoutParams); + LinearLayout.LayoutParams layoutParams2 = (LinearLayout.LayoutParams) mRoketAnimLeft.getLayoutParams(); + layoutParams2.height = LinearLayout.LayoutParams.MATCH_PARENT; + layoutParams2.width = DisplayUtils.dip2px(this, 25); + + layoutParams2.setMargins(0, 0, DisplayUtils.dip2px(ChooseReceiverActivity.this, 14), 0); + mRoketAnimLeft.setLayoutParams(layoutParams2); + + + if (mScaleAnimation == null) { + mScaleAnimation.cancel(); + } + + mTranslateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, -1000); + mTranslateAnimation.setDuration(1000); + mTranslateAnimation.setInterpolator(new AccelerateInterpolator(2.0f)); +// mTranslateAnimation.setFillAfter(true); + + mRoketAnimRl.startAnimation(mTranslateAnimation); + + mTranslateAnimation.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + + } + + @Override + public void onAnimationEnd(Animation animation) { + mRoketAnimRl.setVisibility(View.GONE); + Intent intent = new Intent(ChooseReceiverActivity.this, FileSenderActivity.class); + startActivity(intent); + closeSocket(); + Intent resultIntent= new Intent(); + setResult(0x123, resultIntent); + finish(); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + } + + // 连接失败-动画 + private void connFailedAnimView() { + Utils.toast(ChooseReceiverActivity.this, "连接失败"); + if (mScaleAnimation == null) { + mScaleAnimation.cancel(); + } + mRoketRl.animate() + .alpha(0f) + .setDuration(1000) + .setListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + mRoketRl.setVisibility(View.GONE); + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + + }); + } + @Override public void onBackPressed() { super.onBackPressed(); closeSocket(); + AppController.remove("FileInfo"); } @OnClick(R.id.actionbar_rl_back) public void onBackListener() { closeSocket(); + AppController.remove("FileInfo"); } @Override protected void onDestroy() { super.onDestroy(); isDestroy = true; + isStopScan = true; } /** @@ -389,7 +588,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick private void closeSocket(){ isStopScan = true; if(mDatagramSocket != null) { - mDatagramSocket.disconnect(); +// mDatagramSocket.disconnect(); mDatagramSocket.close(); mDatagramSocket = null; } diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index e079dee5fb..32ae73fb75 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -51,7 +51,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View contentView = View.inflate(this, R.layout.activity_clean_apk, null); - init(contentView, "选择游戏"); + init(contentView, "安装包清理"); mNodataSkipLl.setVisibility(View.GONE); @@ -92,7 +92,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 +103,7 @@ 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, "删除安装包" - , "已选的安装包中包含未安装的应用,确定删除吗?", "取消 ", "确定" + , "你选择的安装包中包含未安装的应用,确定删除吗?", "取消 ", "确定" , new DialogUtils.ConfiremListener() { @Override public void onConfirem() { @@ -169,7 +169,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On @Override public void onScanOver() { - mApkDeleteBtn.setText("一键删除"); + mApkDeleteBtn.setText("立即删除"); mApkDeleteBtn.setBackgroundResource(R.drawable.game_item_btn_red_style); long allSize = 0; diff --git a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java index 0885d5a55d..7820d80345 100644 --- a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java +++ b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java @@ -99,11 +99,12 @@ public class DownloadManagerActivity extends BaseFragmentActivity implements } } if (currentItem == -1) { - if (updateSize != 0 && downloadSize == 0) { - currentItem = 1; - } else { - currentItem = 0; - } + currentItem = 0; +// if (updateSize != 0 && downloadSize == 0) { +// currentItem = 1; +// } else { +// currentItem = 0; +// } } DisplayMetrics outMetrics = new DisplayMetrics(); @@ -115,9 +116,9 @@ public class DownloadManagerActivity extends BaseFragmentActivity implements downloadmanager_slide_line.setLayoutParams(lparams); List list = new ArrayList<>(); + list.add(new FileSendFragment()); list.add(new GameDownLoadFragment()); list.add(new GameUpdateFragment()); - list.add(new FileSendFragment()); downloadmanager_viewPager.setAdapter(new FragmentAdapter(getSupportFragmentManager(), list)); downloadmanager_viewPager.addOnPageChangeListener(this); downloadmanager_viewPager.setCurrentItem(currentItem); @@ -125,13 +126,13 @@ public class DownloadManagerActivity extends BaseFragmentActivity implements @Override public void onPageSelected(int position) { - if (position == 0) { - EventBus.getDefault().post(new EBUISwitch("DownloadManagerActivity", 0)); + if (position == 1) { + EventBus.getDefault().post(new EBUISwitch("DownloadManagerActivity", 1)); downloadmanager_tv_download.setTextColor(getResources().getColor(R.color.theme)); downloadmanager_tv_update.setTextColor(getResources().getColor(R.color.title)); downloadmanager_tv_send.setTextColor(getResources().getColor(R.color.title)); - } else if (position == 1){ - EventBus.getDefault().post(new EBUISwitch("DownloadManagerActivity", 1)); + } else if (position == 2){ + EventBus.getDefault().post(new EBUISwitch("DownloadManagerActivity", 2)); downloadmanager_tv_download.setTextColor(getResources().getColor(R.color.title)); downloadmanager_tv_update.setTextColor(getResources().getColor(R.color.theme)); downloadmanager_tv_send.setTextColor(getResources().getColor(R.color.title)); @@ -161,11 +162,11 @@ public class DownloadManagerActivity extends BaseFragmentActivity implements if (id == R.id.actionbar_rl_back) { finish(); } else if (id == R.id.downloadmanager_ll_download) { - downloadmanager_viewPager.setCurrentItem(0); - } else if (id == R.id.downloadmanager_ll_update) { downloadmanager_viewPager.setCurrentItem(1); - } else if (id == R.id.downloadmanager_ll_send) { + } else if (id == R.id.downloadmanager_ll_update) { downloadmanager_viewPager.setCurrentItem(2); + } else if (id == R.id.downloadmanager_ll_send) { + downloadmanager_viewPager.setCurrentItem(0); } } diff --git a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java index 1ea0e858b5..d6d8353159 100644 --- a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java @@ -1,6 +1,9 @@ package com.gh.gamecenter; import android.Manifest; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Environment; @@ -11,11 +14,14 @@ import android.support.v4.content.ContextCompat; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.AppController; import com.gh.base.BaseActivity; +import com.gh.common.constant.Config; import com.gh.common.util.DialogUtils; import com.gh.common.util.UserIconUtils; import com.gh.common.util.Utils; @@ -31,6 +37,7 @@ import com.gh.gamecenter.kuaichuan.FileReceiver; import com.gh.gamecenter.kuaichuan.HotspotManager; import com.gh.gamecenter.kuaichuan.IpPortInfo; import com.gh.gamecenter.kuaichuan.WifiMgr; +import com.gh.gamecenter.manager.DataCollectionManager; import org.json.JSONException; import org.json.JSONObject; @@ -41,7 +48,9 @@ import java.net.DatagramSocket; import java.net.ServerSocket; import java.net.Socket; import java.text.DecimalFormat; +import java.util.HashMap; import java.util.List; +import java.util.Map; import butterknife.BindView; import butterknife.OnClick; @@ -56,6 +65,11 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd @BindView(R.id.sender_user_name) TextView mSenderUserName; @BindView(R.id.sender_user_send_des) TextView mSenderUserDes; @BindView(R.id.sender_hint) TextView mSenderHint; + @BindView(R.id.sender_bottom) LinearLayout mReceiverBottom; + @BindView(R.id.sender_keep_send) RelativeLayout mKeepReceiver; + @BindView(R.id.sender_keep_send_tv) TextView mKeepReceiverTv; + @BindView(R.id.sender_bottom_hint) TextView mReceiverBottomHint; + @BindView(R.id.sender_bottom_control) LinearLayout mReceiverControl; private FileReceiverAdapter mFileReceiverAdapter; @@ -71,10 +85,14 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd private DatagramSocket mDatagramSocket; + private SharedPreferences sp; + private boolean isReceivesOver; private boolean isOpenWifi; //记录开热点前的WiFi状态 private boolean isDestroy; + private long mStartTime; + Handler handler = new Handler() { @Override public void handleMessage(Message msg) { @@ -100,16 +118,19 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd long progress = (long) msg.obj; fileInfo.setProgress(progress); fileInfo.setResult(FileInfo.FLAG_DEFAULT); - } else if (msg.what == FileInfo.FLAG_SUCCESS) { // 传输成功更新界面 fileInfo.setResult(FileInfo.FLAG_SUCCESS); - if (index == mFileInfos.size() -1) initSenderHint(); + if (index == mFileInfos.size() -1) initSenderHint(false); } else if (msg.what == FileInfo.FLAG_FAILURE) { // 传输失败更新界面 fileInfo.setResult(FileInfo.FLAG_FAILURE); - if (index == mFileInfos.size() -1) initSenderHint(); + if (index == mFileInfos.size() -1) initSenderHint(false); } else if (msg.what == FileInfo.FLAG_CANCEL) { // 传输取消更新界面 fileInfo.setResult(FileInfo.FLAG_CANCEL); - if (index == mFileInfos.size() -1) initSenderHint(); + if (index == mFileInfos.size() -1) initSenderHint(false); + } else if (msg.what == FileInfo.FLAG_NO_MEMORY) { + Utils.toast(FileReceiverActivity.this, "手机空间不足"); + fileInfo.setResult(FileInfo.FLAG_NO_MEMORY); // 接收方内存不足 + if (index == mFileInfos.size() -1) initSenderHint(true); } Utils.log("FileReceiverActivity:: 刷新位置::" + index + "刷新状态::" + msg.what); @@ -128,10 +149,6 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } } Utils.log("FileReceiverActivity:: 获取刷新位置异常" + mFileInfos.size()); - for (FileInfo mFileInfo : mFileInfos) { - Utils.log("FileReceiverActivity:: 位置异常mFileInfos====" + mFileInfo.getFileTag() + "==" + mFileInfo.getName()); - Utils.log("FileReceiverActivity:: 位置异常mCurFileInfo====" + mCurFileInfo.getFileTag() + "==" + mCurFileInfo.getName()); - } return -1; } @@ -141,7 +158,6 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd View contentView = View.inflate(this, R.layout.activity_file_sender, null); init(contentView, "接收游戏"); - isReceivesOver = false; isDestroy = false; mFileReceiverAdapter = new FileReceiverAdapter(this); @@ -153,6 +169,10 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd mIpPortInfo = (IpPortInfo) getIntent().getSerializableExtra(Constant.KEY_IP_PORT_INFO); isOpenWifi = getIntent().getBooleanExtra("isOpenWifi", false); + mKeepReceiverTv.setText("继续接收"); + + sp = getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); + initUserData(); if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) @@ -164,6 +184,8 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } private void initUserData() { + isReceivesOver = false; + long allGameSize = 0; for (FileInfo mFileInfo : mFileInfos) { allGameSize = allGameSize + mFileInfo.getSize(); @@ -174,8 +196,12 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd String sizeName = df.format(size) + "MB"; mSenderUserDes.setText(mFileInfos.size() + "个游戏,共" + sizeName); - mSenderUserName.setText("来自-" + mIpPortInfo.getSenderName()); + mSenderUserName.setText("来自 " + mIpPortInfo.getSenderName()); mSenderUserIcon.setImageURI(UserIconUtils.getUserIcon(mIpPortInfo.getSenderIcon())); + + mReceiverBottom.setVisibility(View.GONE); + + mSenderHint.setText("已连接"); } /** @@ -238,7 +264,7 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd * @param msg */ private void parseFileInfo(String msg) { - mFileInfos = (List) AppController.get("FileInfo", false); //TODO mFileInfos 数据异常 需要重新获取 + mFileInfos = (List) AppController.get("FileInfo", false); // mFileInfos 数据异常 需要重新获取 FileInfo fileInfo = FileInfo.toObject(msg); if(fileInfo != null && fileInfo.getFilePath() != null){ mFileInfos.add(fileInfo); @@ -256,9 +282,16 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd // } - //TODO 接收方发送取消消息 会导致接收列表时无法回复信息 == 将消息整合在一起 Utils.log("接收方发送取消消息 让发送方取消"); + + try { + // 接收方更改界面 + FileInfo fileInfo = mFileInfos.get(position); + fileInfo.setResult(FileInfo.FLAG_CANCEL); + mFileReceiverAdapter.notifyItemChanged(position); + + // 发消息让发送方取消 JSONObject jsonObject = new JSONObject(); jsonObject.put("controlStatus", Constant.MSG_RECEIVER_CANCEL); jsonObject.put("controlTag", position); @@ -325,11 +358,12 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd while (!Thread.currentThread().isInterrupted()){ Socket socket = serverSocket.accept(); - mFileReceiver = new FileReceiver(socket); + mFileReceiver = new FileReceiver(socket, FileReceiverActivity.this); mFileReceiver.setOnReceiveListener(new FileReceiver.OnReceiveListener() { @Override public void onStart() { Utils.log("快传文件接收::onStart"); + mStartTime = Utils.getTime(FileReceiverActivity.this); } @Override @@ -354,22 +388,42 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } @Override - public void onSuccess(FileInfo fileInfo) { // 获取传输成功 + public void onSuccess() { // 获取传输成功 handler.sendEmptyMessage(FileInfo.FLAG_SUCCESS); - Utils.log("快传文件接收成功::onSuccess"); + + // TODO 数据收集 + long sendTime = Utils.getTime(FileReceiverActivity.this) - mStartTime; + + Map hashMap = new HashMap<>(); + hashMap.put("send_time", mStartTime); + hashMap.put("receive_time", Utils.getTime(FileReceiverActivity.this)); + hashMap.put("game_name", mCurFileInfo.getName()); + hashMap.put("package_name", mCurFileInfo.getPackageName()); + hashMap.put("package_size", mCurFileInfo.getSize()); + hashMap.put("expend_time", sendTime); + hashMap.put("send_nickname", mIpPortInfo.getSenderName()); + hashMap.put("receive_nickname", mIpPortInfo.getReceiverName()); + hashMap.put("receive_token", sp.getString("token", null)); + DataCollectionManager.onEvent(FileReceiverActivity.this, "transfer", hashMap, false); + Utils.log("快传文件接收成功::onSuccess:: 发送事件::" + sendTime); } @Override - public void onFailure(Throwable t, FileInfo fileInfo) { // 获取传输失败 + public void onFailure(Throwable t) { // 获取传输失败 Utils.log("快传文件接收失败::onFailure"); handler.sendEmptyMessage(FileInfo.FLAG_FAILURE); } @Override - public void onCancel(FileInfo fileInfo) { // 获取传输取消 + public void onCancel() { // 获取传输取消 Utils.log("快传文件接收取消::onCancel"); handler.sendEmptyMessage(FileInfo.FLAG_CANCEL); } + + @Override + public void onNoMemory() { + handler.sendEmptyMessage(FileInfo.FLAG_NO_MEMORY); + } }); AppController.MAIN_EXECUTOR.execute(mFileReceiver); @@ -394,7 +448,12 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } } - private void initSenderHint(){ + private void initSenderHint(boolean isNoMemory) { + + mReceiverBottom.setVisibility(View.VISIBLE); + mReceiverControl.setVisibility(View.VISIBLE); + + isReceivesOver = true; int sendSuccess = 0; for (FileInfo mFileInfo : mFileInfos) { @@ -403,6 +462,10 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd } } + if (isNoMemory) { + mKeepReceiverTv.setText("手机空间清理"); + } + if (sendSuccess > 0) { mSenderHint.setVisibility(View.VISIBLE); mSenderHint.setText("传输结束,成功接收" + sendSuccess + "个游戏"); @@ -429,15 +492,31 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd isDestroy = true; } - @OnClick(R.id.actionbar_rl_back) - public void back() { - backHint(); + @OnClick({R.id.actionbar_rl_back, R.id.sender_keep_send, R.id.sender_back}) + public void back(View view) { + switch (view.getId()) { + case R.id.actionbar_rl_back: + backHint(); + break; + case R.id.sender_back: + backHint(); + break; + case R.id.sender_keep_send: + if ("继续接收".equals(mKeepReceiverTv.getText())) { + mReceiverControl.setVisibility(View.GONE); + } else { // 跳转安装包清理 + Intent intent = new Intent(this, CleanApkActivity.class); + startActivity(intent); + } + break; + + } } private void colsePage() { if(mDatagramSocket != null) { - mDatagramSocket.disconnect(); +// mDatagramSocket.disconnect(); mDatagramSocket.close(); mDatagramSocket = null; } diff --git a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java index 0a958d139d..2a85fe0bf9 100644 --- a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java @@ -101,7 +101,6 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte mFileInfos = (List) AppController.get("FileInfo", false); - isSendOver = false; isDestroy = false; mFileSenderList = new ArrayList<>(); @@ -115,11 +114,9 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (requestCode == 0x178) { - mFileInfos = (List) AppController.get("FileInfo", false); + if (resultCode == 0x130 && requestCode == 0x178) { mSenderAdapter.notifyDataSetChanged(); initUserData(); - Utils.log("FileSenderActivity:: onActivityResult::" + mFileInfos.size()); new Thread(new Runnable() { @Override public void run() { @@ -214,6 +211,10 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte JSONObject jsonObject = new JSONObject(response); int cancelPosition = (int) jsonObject.get("controlTag"); FileSender fileSender = mFileSenderList.get(cancelPosition); + Message message = new Message(); + message.what = FileInfo.FLAG_CANCEL; + message.obj = cancelPosition; + handler.sendMessage(message); if (fileSender != null && fileSender.isRunning()) { Utils.log("接收方取消发送"); fileSender.cancel(); @@ -231,6 +232,8 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte //初始化用户数据 private void initUserData() { + isSendOver = false; + Map map = (Map) AppController.get("userMap", false); long allGameSize = 0; @@ -243,10 +246,12 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte String sizeName = df.format(size) + "MB"; mSenderUserDes.setText(mFileInfos.size() + "个游戏,共" + sizeName); - mSenderUserName.setText("发给-" + map.get("receiverName")); + mSenderUserName.setText("发给 " + map.get("receiverName")); mSenderUserIcon.setImageURI(UserIconUtils.getUserIcon(Integer.parseInt(map.get("usericon")))); mSenderBottom.setVisibility(View.GONE); + + mSenderHint.setText("已连接"); } private void initSendServer() throws Exception { @@ -330,6 +335,12 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte } private void initSenderHint(){ + for (FileInfo mFileInfo : mFileInfos) { + if (mFileInfo.getResult() == 0 || mFileInfo.getResult() == 1) { // 还有没完成的任务 + return; + } + } + mSenderBottom.setVisibility(View.VISIBLE); int sendSuccess = 0; @@ -376,9 +387,9 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte isDestroy = true; } - @OnClick({R.id.actionbar_rl_back, R.id.sender_keep_send}) + @OnClick({R.id.actionbar_rl_back, R.id.sender_keep_send, R.id.sender_back}) public void onClick(View view) { - if (view.getId() == R.id.actionbar_rl_back) { + if (view.getId() == R.id.actionbar_rl_back || view.getId() == R.id.sender_back) { backHint(); } else if (view.getId() == R.id.sender_keep_send) { Intent intent = new Intent(this, KcSelectGameActivity.class); @@ -402,13 +413,16 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte public void colsePage() { if(mDatagramSocket != null) { - mDatagramSocket.disconnect(); +// mDatagramSocket.disconnect(); mDatagramSocket.close(); mDatagramSocket = null; } stopAllFileSendingTask(); AppController.remove("FileInfo"); + + 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 c7e31b3120..5ca8a61433 100644 --- a/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java +++ b/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java @@ -55,7 +55,7 @@ public class KcSelectGameActivity extends BaseActivity { mIsConn = false; } - + selectAll.setVisibility(View.GONE); mAdapter = new KcSelectGameAdapter(this, mSelectSend); mSelectRv.setLayoutManager(new LinearLayoutManager(this)); @@ -75,9 +75,7 @@ public class KcSelectGameActivity extends BaseActivity { for (FileInfo fileInfo : selectData) { oldInfo.add(fileInfo); } - - AppController.put("FileInfo", oldInfo); - setResult(0x178); + setResult(0x130); finish(); } else { AppController.put("FileInfo", selectData); @@ -108,6 +106,6 @@ public class KcSelectGameActivity extends BaseActivity { } }); - installCount.setText("已安装(" + mAdapter.getItemCount() + ")"); + installCount.setText("已安装的游戏(" + mAdapter.getItemCount() + ")"); } } diff --git a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java index 10404ca6fb..8afda8689c 100644 --- a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -12,8 +13,6 @@ import android.view.View; import android.widget.RelativeLayout; import android.widget.TextView; -import com.facebook.drawee.backends.pipeline.Fresco; -import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.AppController; import com.gh.base.BaseActivity; @@ -21,6 +20,7 @@ import com.gh.common.constant.Config; import com.gh.common.util.RandomUtils; import com.gh.common.util.UserIconUtils; import com.gh.common.util.Utils; +import com.gh.common.view.RadarLayout; import com.gh.gamecenter.kuaichuan.BaseTransfer; import com.gh.gamecenter.kuaichuan.Constant; import com.gh.gamecenter.kuaichuan.FileInfo; @@ -40,7 +40,6 @@ import java.util.ArrayList; import java.util.List; import butterknife.BindView; -import butterknife.OnClick; /** * Created by khy on 2017/1/20. @@ -51,9 +50,10 @@ public class ReceiverWaitingActivity extends BaseActivity { @BindView(R.id.waiting_user_name) TextView mUserName; @BindView(R.id.waiting_user_status) TextView mUserStatus; @BindView(R.id.waiting_conn) TextView mWaitingConn; - @BindView(R.id.waiting_gif) SimpleDraweeView mWaitingGif; + @BindView(R.id.waiting_radar_layout) RadarLayout mRadarLayout; @BindView(R.id.waiting_hint) TextView mWaitingHint; @BindView(R.id.reuse_actionbar) RelativeLayout mActionbar; + @BindView(R.id.waiting_gprs_hint) TextView mGPRSHint; private WifiAPBroadcastReceiver mWifiAPBroadcastReceiver; @@ -117,15 +117,16 @@ public class ReceiverWaitingActivity extends BaseActivity { } mUserStatus.setText("正在初始化..."); - DraweeController controller = Fresco.newDraweeControllerBuilder() - .setUri("res:///" + R.drawable.kuaichuan_receiver_waiting) - .setAutoPlayAnimations(true) - .build(); - mWaitingGif.setController(controller); + mRadarLayout.setUseRing(true); + mRadarLayout.setColor(Color.WHITE); + mRadarLayout.setCount(4); + mRadarLayout.start(); mFileInfos = new ArrayList<>(); + HotspotManager.initApData(this); // 记录原始热点信息 + //初始化热点 if(HotspotManager.isApOn(this)){ HotspotManager.disableAp(this); @@ -134,7 +135,7 @@ public class ReceiverWaitingActivity extends BaseActivity { mWifiAPBroadcastReceiver = new WifiAPBroadcastReceiver() { @Override public void onWifiApEnabled() { - if(!mIsInitialized){ + if(!mIsInitialized) { mUdpServerRuannable = createSendMsgToFileSenderRunnable(); AppController.MAIN_EXECUTOR.execute(mUdpServerRuannable); mIsInitialized = true; @@ -142,6 +143,8 @@ public class ReceiverWaitingActivity extends BaseActivity { mWaitingConn.setVisibility(View.VISIBLE); mUserStatus.setText(Html.fromHtml("成功创建热点:" + "" + mySsid + "")); mWaitingHint.setVisibility(View.GONE); + mUserName.setVisibility(View.GONE); + mGPRSHint.setVisibility(View.VISIBLE); } } @@ -159,6 +162,20 @@ public class ReceiverWaitingActivity extends BaseActivity { } mySsid = mySsid + sp.getInt("default_user_icon", 1); HotspotManager.configApState(this, mySsid); // change Ap state :boolean + + findViewById(R.id.actionbar_rl_back).setOnClickListener( + new View.OnClickListener() { + @Override + public void onClick(View v) { + colsePage(); + //关闭热点 + HotspotManager.disableAp(ReceiverWaitingActivity.this); + + if (isOpenWifi) { + WifiMgr.getInstance(ReceiverWaitingActivity.this).openWifi(); + } + } + }); } /** @@ -232,7 +249,8 @@ public class ReceiverWaitingActivity extends BaseActivity { Message message = new Message(); message.what = 0; JSONObject jsonObject = new JSONObject(msg); - message.obj = new IpPortInfo(inetAddress, port, jsonObject.getString(Constant.MSG_FILE_RECEIVER_INIT), jsonObject.getInt("UserIcon")); + message.obj = new IpPortInfo(inetAddress, port, jsonObject.getString(Constant.MSG_FILE_RECEIVER_INIT), + sp.getString("user_name", "光环用户"),jsonObject.getInt("UserIcon")); mHandler.sendMessage(message); } else { @@ -260,23 +278,23 @@ public class ReceiverWaitingActivity extends BaseActivity { */ private void closeSocket(){ if(mDatagramSocket != null){ - mDatagramSocket.disconnect(); +// mDatagramSocket.disconnect(); mDatagramSocket.close(); mDatagramSocket = null; } } - @OnClick(R.id.actionbar_rl_back) - public void back() { - colsePage(); - - //关闭热点 - HotspotManager.disableAp(this); - - if (isOpenWifi) { - WifiMgr.getInstance(this).openWifi(); - } - } +// @OnClick(R.id.actionbar_rl_back) +// public void onBackListener() { +// Utils.log("=========back"); +// colsePage(); +// //关闭热点 +// HotspotManager.disableAp(this); +// +// if (isOpenWifi) { +// WifiMgr.getInstance(this).openWifi(); +// } +// } @Override public void onBackPressed() { @@ -284,7 +302,7 @@ public class ReceiverWaitingActivity extends BaseActivity { colsePage(); //关闭热点 - HotspotManager.disableAp(this); + HotspotManager.initUserAp(ReceiverWaitingActivity.this); if (isOpenWifi) { WifiMgr.getInstance(this).openWifi(); @@ -295,6 +313,8 @@ public class ReceiverWaitingActivity extends BaseActivity { * 关闭广播并关闭Socket流 */ private void colsePage() { + mRadarLayout.stop(); + 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 14a6abd41c..4db2e16072 100644 --- a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java @@ -9,14 +9,30 @@ import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.TextView; +import android.widget.Toast; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; -import com.gh.common.util.UserIconUtils; +import com.gh.common.util.TokenUtils; import com.gh.common.util.Utils; +import com.gh.gamecenter.retrofit.JSONObjectResponse; +import com.gh.gamecenter.retrofit.RetrofitManager; + +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.Map; import butterknife.BindView; import butterknife.OnClick; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.adapter.rxjava.HttpException; +import rx.Observable; +import rx.android.schedulers.AndroidSchedulers; +import rx.functions.Func1; +import rx.schedulers.Schedulers; /** * Created by khy on 2017/2/10. @@ -108,11 +124,65 @@ public class SelectUserIconActivity extends BaseActivity { } public void postUserIocn(int i) { - sp.edit().putInt("default_user_icon", i).apply(); - Intent intent = new Intent(); - intent.putExtra("url", UserIconUtils.getUserIcon(i)); - setResult(0x125, intent); - finish(); + postDefaultIcon(true, i); + } + + public void postDefaultIcon(boolean isCheck, final int i) { + TokenUtils.getToken(this, isCheck) + .flatMap(new Func1>() { + @Override + public Observable call(String token) { + Map params = new HashMap<>(); + params.put("icon_key" , "icon" + i); + RequestBody body = RequestBody.create(MediaType.parse("application/json"), + new JSONObject(params).toString()); + return RetrofitManager.getUser().postDefaultIcon(token, body); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new JSONObjectResponse(){ + @Override + public void onResponse(JSONObject response) { + super.onResponse(response); + try { + String icon = response.getString("icon"); + + sp.edit().putInt("default_user_icon", i).apply(); + Intent intent = new Intent(); + intent.putExtra("url", icon); + setResult(0x125, intent); + finish(); + } catch (Exception e) { + e.printStackTrace(); + } + } + @Override + public void onFailure(HttpException e) { + super.onFailure(e); + if (e != null) { + if (e.code() == 401) { + postDefaultIcon(true, i); + return; + } + + if (e.code() == 403) { + try { + JSONObject response = new JSONObject(new String(e.response().errorBody().bytes())); + if ("too frequent".equals(response.getString("detail"))) { + Toast.makeText(SelectUserIconActivity.this, "修改太频繁", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(SelectUserIconActivity.this, "修改失败", Toast.LENGTH_SHORT).show(); + } + } catch (Exception ex) { + ex.printStackTrace(); + Toast.makeText(SelectUserIconActivity.this, "修改失败", Toast.LENGTH_SHORT).show(); + } + } + } + } + } + ); } } diff --git a/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java b/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java index 6a06bad6ad..6335cc6b79 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareGhActivity.java @@ -57,7 +57,7 @@ public class ShareGhActivity extends BaseActivity { ClipboardManager cmb = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); cmb.setText("http://www.ghzhushou.com?source=appshare100"); - Utils.toast(this, "网址复制成功"); + Utils.toast(this, "网址复制成功,请到微信/QQ粘贴分享"); } diff --git a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java index e5e5d166ba..7bbb055646 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java @@ -3,8 +3,13 @@ package com.gh.gamecenter; import android.content.Context; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.graphics.Color; import android.os.Bundle; +import android.text.Html; import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; import android.widget.TextView; import com.gh.base.AppController; @@ -21,7 +26,6 @@ import com.gh.gamecenter.kuaichuan.HtmlUriHandler; import com.gh.gamecenter.kuaichuan.ImageUriHandler; import com.gh.gamecenter.kuaichuan.KcUriHandler; import com.gh.gamecenter.kuaichuan.WifiMgr; -import com.gh.gamecenter.kuaichuan.WifiUtils; import com.gh.gamecenter.receiver.WifiAPBroadcastReceiver; import java.io.IOException; @@ -41,7 +45,12 @@ import butterknife.OnClick; */ public class ShareGhWfifActivity extends BaseActivity { - @BindView(R.id.hotspot_name) TextView mHotSpotName; +// @BindView(R.id.hotspot_name) TextView mHotSpotName; + @BindView(R.id.init_hotpost_pb) ProgressBar mInitHotspostPb; + @BindView(R.id.init_status_icon) ImageView mInitStatusIcon; + @BindView(R.id.init_status_tv) TextView mInitStatusTv; + @BindView(R.id.init_hotpost_hint) TextView mInitHotpostHint; + @BindView(R.id.init_success_ll) LinearLayout mInitSuccessLl; private ServerSocket mServerSocket; @@ -57,13 +66,15 @@ public class ShareGhWfifActivity extends BaseActivity { private boolean isOpenWifi; //记录开热点前的WiFi状态 + private boolean initSuccess; + private String mySsid; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View contentView = View.inflate(this, R.layout.activity_share_gh_wifi, null); - init(contentView, "分享光环"); + init(contentView, "免流量分享"); ButterKnife.bind(this); mUriHandlers = new ArrayList<>(); @@ -73,13 +84,16 @@ public class ShareGhWfifActivity extends BaseActivity { sp = getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); isColseActivity = false; + initSuccess = false; if (WifiMgr.getInstance(this).isWifiEnable()) { isOpenWifi = true; WifiMgr.getInstance(this).closeWifi(); } + HotspotManager.initApData(this); // 记录原始热点信息 + initHotSpotView(0); initHotSpot(); } @@ -93,7 +107,7 @@ public class ShareGhWfifActivity extends BaseActivity { Utils.log("===初始化热点成功"); AppController.MAIN_EXECUTOR.execute(checkHotSpot()); mIsInitialized = true; - mHotSpotName.setText(mySsid); +// mHotSpotName.setText(mySsid); } } @@ -114,6 +128,42 @@ public class ShareGhWfifActivity extends BaseActivity { HotspotManager.configApState(this, mySsid); // change Ap state :boolean } + /** + * 初始化创建热点View + * @param i i=0 初始化中, i=1 初始化成功, i=2 初始化失败 + */ + + public void initHotSpotView(int i) { + switch (i) { + case 0: + mInitHotspostPb.setVisibility(View.VISIBLE); + mInitStatusIcon.setVisibility(View.GONE); + mInitStatusTv.setText("正在创建热点..."); + mInitStatusTv.setTextColor(getResources().getColor(R.color.title)); + mInitHotpostHint.setVisibility(View.VISIBLE); + mInitHotpostHint.setText("如果出现获取权限的提示,请点击允许"); + break; + case 1: + mInitStatusIcon.setVisibility(View.VISIBLE); + mInitStatusIcon.setImageResource(R.drawable.kc_checkbox_select); + mInitStatusTv.setText(Html.fromHtml("热点创建成功:" + "" + mySsid + "")); + mInitHotpostHint.setVisibility(View.VISIBLE); + mInitHotpostHint.setText("为了避免消耗流量,请关闭你手机的移动网络"); + mInitHotspostPb.setVisibility(View.GONE); + mInitSuccessLl.setVisibility(View.VISIBLE); + initSuccess = true; + break; + case 2: + mInitStatusIcon.setVisibility(View.VISIBLE); + mInitStatusIcon.setImageResource(R.drawable.hotspot_failed_icon); + mInitStatusTv.setText("初始化失败, 请退出重试"); + mInitStatusTv.setTextColor(Color.parseColor("#ff4147")); + mInitHotpostHint.setVisibility(View.VISIBLE); + mInitHotspostPb.setVisibility(View.GONE); + break; + } + } + private Runnable checkHotSpot() { return new Runnable() { @Override @@ -129,11 +179,11 @@ public class ShareGhWfifActivity extends BaseActivity { } // 即使热点wifi的IP地址也是无法连接网络 所以采取此策略 - count = 0; - while(!WifiUtils.pingIpAddress(hotspotIpAddr) && count < Constant.DEFAULT_TRY_TIME){ - Thread.sleep(500); - count ++; - } +// count = 0; +// while(!WifiUtils.pingIpAddress(hotspotIpAddr) && count < Constant.DEFAULT_TRY_TIME){ +// Thread.sleep(500); +// count ++; +// } } catch(Exception e) { Utils.log("==热点启动异常::" + e.toString()); } @@ -158,6 +208,15 @@ public class ShareGhWfifActivity extends BaseActivity { } while (!isColseActivity) { + if (!initSuccess) { + mInitStatusTv.post(new Runnable() { + @Override + public void run() { + initHotSpotView(1); + } + }); + } + Utils.log("===循环等待客户端请求"); Socket socket = mServerSocket.accept(); KcWebRequestEntity requestEntity = hanlderSocket(socket); @@ -175,6 +234,15 @@ public class ShareGhWfifActivity extends BaseActivity { } catch (IOException e) { Utils.log("===网页传下载出现异常" + e.toString()); e.printStackTrace(); + + if (!e.toString().contains("Socket closed")) { + mInitStatusTv.post(new Runnable() { + @Override + public void run() { + initHotSpotView(2); + } + }); + } } } }).start(); @@ -251,7 +319,7 @@ public class ShareGhWfifActivity extends BaseActivity { } } - HotspotManager.disableAp(ShareGhWfifActivity.this); + HotspotManager.initUserAp(ShareGhWfifActivity.this); if (isOpenWifi) { WifiMgr.getInstance(ShareGhWfifActivity.this).openWifi(); } 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 fce956c141..65166342e0 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java @@ -4,10 +4,12 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.database.Cursor; import android.graphics.Color; import android.graphics.drawable.Drawable; -import android.os.Environment; +import android.net.Uri; import android.os.Handler; +import android.provider.MediaStore; import android.support.v4.util.ArrayMap; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -76,7 +78,7 @@ public class CleanApkAdapter extends RecyclerView.Adapter 0) { - for (File file_str : files) { - FindAllAPKFile(file_str); - } + handler.post(new Runnable() { + @Override + public void run() { + notifyItemInserted((mApkList.size() - 1)); + } + }); + } while (cursor.moveToNext()); } } + cursor.close(); } private int doType(PackageManager pm, String packageName) { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java index 61d80d0562..2eb97a98c8 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java @@ -72,9 +72,22 @@ public class FileReceiverAdapter extends RecyclerView.Adapter gameList; + private List sendOverList; //发送过的游戏 + private int cardMargin; public KcSelectGameAdapter(KcSelectGameActivity activity, TextView selectCount) { @@ -54,6 +57,8 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter(); selectPosition = new HashMap<>(); + sendOverList = (List) AppController.get("FileInfo", false); + cardMargin = (int) context.getResources().getDimension(R.dimen.cardview_margin); @@ -170,11 +175,20 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter" + sizeName + ""); holder.gameSize.setText(spanned); - holder.gameNameAndSize.setText(gameEntity.getGameName()); holder.gameDes.setText("版本:V" + gameEntity.getGameVersion()); holder.gameThumb.setImageBitmap(gameEntity.getGameBm()); + holder.gameNameAndSize.setText(gameEntity.getGameName()); + holder.gameNameAndSize.setTextColor(context.getResources().getColor(R.color.title)); + if (sendOverList != null && sendOverList.size() > 0) { + for (FileInfo fileInfo : sendOverList) { + if (fileInfo.getFilePath().equals(gameEntity.getGamePath())) { + holder.gameNameAndSize.setTextColor(context.getResources().getColor(R.color.hint)); + break; + } + } + } holder.selectCB.setVisibility(View.VISIBLE); if (selectPosition.get(i)) { @@ -185,27 +199,47 @@ public class KcSelectGameAdapter extends RecyclerView.Adapter getSelectData() { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNormalSwipeViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNormalSwipeViewHolder.java index 8804e55d49..5ac1f9e6c9 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNormalSwipeViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNormalSwipeViewHolder.java @@ -31,6 +31,7 @@ public class GameNormalSwipeViewHolder extends RecyclerView.ViewHolder { public CardLinearLayout cardView; public SwipeLayout swipeLayout; public TextView swipeText; + public TextView swipeShareText; public GameNormalSwipeViewHolder(View itemView) { super(itemView); @@ -49,6 +50,7 @@ public class GameNormalSwipeViewHolder extends RecyclerView.ViewHolder { cardView = (CardLinearLayout) itemView.findViewById(R.id.home1_game_card); swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipeLayout); swipeText = (TextView) itemView.findViewById(R.id.swipe_text); + swipeShareText = (TextView) itemView.findViewById(R.id.swipe_share_text); } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java index beaaa1efe6..a3b7582278 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java @@ -9,7 +9,6 @@ import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; -import com.facebook.drawee.view.SimpleDraweeView; import com.gh.gamecenter.R; import butterknife.BindView; @@ -21,7 +20,7 @@ import butterknife.ButterKnife; public class KcSelectGameViewHolder extends RecyclerView.ViewHolder{ @BindView(R.id.select_game_order) public TextView gameOrder; - @BindView(R.id.select_game_thumb) public SimpleDraweeView gameThumb; + @BindView(R.id.select_game_thumb) public ImageView gameThumb; @BindView(R.id.select_game_nameAndsize) public TextView gameNameAndSize; @BindView(R.id.select_game_btn) public CheckBox selectCB; @BindView(R.id.select_game_des) public TextView gameDes; @@ -33,6 +32,7 @@ public class KcSelectGameViewHolder extends RecyclerView.ViewHolder{ @BindView(R.id.select_download_speed) public TextView downloadSpeed; @BindView(R.id.send_over_icon) public ImageView sendOverIcon; @BindView(R.id.select_game_rl) public RelativeLayout selectGameRl; + @BindView(R.id.select_game_cb_rl) public RelativeLayout checkBoxRl; public KcSelectGameViewHolder(View itemView) { super(itemView); diff --git a/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java b/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java index 160ccc72df..22c4651a00 100644 --- a/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/FileSendFragment.java @@ -10,6 +10,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import com.gh.common.util.Utils; import com.gh.gamecenter.CleanApkActivity; import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; @@ -39,7 +40,7 @@ public class FileSendFragment extends Fragment { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), KcSelectGameActivity.class); - getActivity().startActivity(intent); + startActivityForResult(intent, 0x170); } }); @@ -76,4 +77,12 @@ public class FileSendFragment extends Fragment { return view; } + + @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(), "显示弹窗啦"); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileInfo.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileInfo.java index 66c98d5c06..e46e1cab9b 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileInfo.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileInfo.java @@ -16,6 +16,7 @@ public class FileInfo implements Serializable { * 文件传输的标识 */ // -1 失败 0 发送中 1 成功 2发送取消 3已安装 + public static final int FLAG_NO_MEMORY =5; public static final int FLAG_INSTALLED = 4; public static final int FLAG_CANCEL = 3; public static final int FLAG_SUCCESS = 2; diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java index 7babad729b..7f762670c8 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java @@ -1,10 +1,14 @@ package com.gh.gamecenter.kuaichuan; +import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; +import android.text.TextUtils; +import com.gh.common.util.FileUtils; import com.gh.common.util.Utils; +import com.gh.gamecenter.FileReceiverActivity; import java.io.File; import java.io.FileOutputStream; @@ -12,6 +16,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; +import java.text.DecimalFormat; /** @@ -19,6 +24,8 @@ import java.net.Socket; */ public class FileReceiver extends BaseTransfer implements Runnable { + Context mContext; + /** * Socket的输入输出流 */ @@ -44,8 +51,9 @@ public class FileReceiver extends BaseTransfer implements Runnable { OnReceiveListener mOnReceiveListener; - public FileReceiver(Socket mSocket) { + public FileReceiver(Socket mSocket, FileReceiverActivity activity) { this.mSocket = mSocket; + this.mContext = activity; } public void setOnReceiveListener(OnReceiveListener mOnReceiveListener) { @@ -61,7 +69,7 @@ public class FileReceiver extends BaseTransfer implements Runnable { } catch (Exception e) { e.printStackTrace(); Utils.log("FileReceiver init() --->>> occur expection" + e.toString()); - if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e, mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e); } //解析头部 @@ -70,7 +78,7 @@ public class FileReceiver extends BaseTransfer implements Runnable { } catch (Exception e) { e.printStackTrace(); Utils.log("FileReceiver parseHeader() --->>> occur expection" + e.toString()); - if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e, mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e); } @@ -80,7 +88,7 @@ public class FileReceiver extends BaseTransfer implements Runnable { } catch (Exception e) { e.printStackTrace(); Utils.log("FileReceiver parseBody() --->>> occur expection" + e.toString()); - if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e, mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e); } //结束 @@ -89,7 +97,7 @@ public class FileReceiver extends BaseTransfer implements Runnable { } catch (Exception e) { e.printStackTrace(); Utils.log("FileReceiver finish() --->>> occur expection"+ e.toString()); - if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e, mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onFailure(e); } @@ -186,6 +194,12 @@ public class FileReceiver extends BaseTransfer implements Runnable { long sTime = System.currentTimeMillis(); long eTime = 0; + + double size = (((float)mFileInfo.getSize()/1024)/1024); + DecimalFormat df = new DecimalFormat("#.00"); + String sizeName = df.format(size) + "MB"; + + String canDownload = FileUtils.isCanDownload(mContext, sizeName); while((len=mInputStream.read(bytes)) != -1){ synchronized(LOCK) { if (mIsPaused) { @@ -196,6 +210,8 @@ public class FileReceiver extends BaseTransfer implements Runnable { } } + if (!TextUtils.isEmpty(canDownload)) break; // 内存不足 拒绝接受 + bos.write(bytes, 0, len); total = total + len; eTime = System.currentTimeMillis(); @@ -217,10 +233,16 @@ public class FileReceiver extends BaseTransfer implements Runnable { long endTime = System.currentTimeMillis(); Utils.log("接收完成对比 游戏总大小:" + fileSize + "游戏接收大小:" + total); + + if (!TextUtils.isEmpty(canDownload)) { // 内存不足回调 + if(mOnReceiveListener != null) mOnReceiveListener.onNoMemory(); + return; + } + if (total == fileSize) { - if(mOnReceiveListener != null) mOnReceiveListener.onSuccess(mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onSuccess(); } else { - if(mOnReceiveListener != null) mOnReceiveListener.onCancel(mFileInfo); + if(mOnReceiveListener != null) mOnReceiveListener.onCancel(); } } @@ -280,9 +302,10 @@ public class FileReceiver extends BaseTransfer implements Runnable { void onStart(); void onGetFileInfo(FileInfo fileInfo); void onProgress(long progress, long total); - void onSuccess(FileInfo fileInfo); - void onFailure(Throwable t, FileInfo fileInfo); - void onCancel(FileInfo fileInfo); + void onSuccess(); + void onFailure(Throwable t); + void onCancel(); + void onNoMemory(); } } 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 04f4b261a1..f1638f2b7d 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/HotspotManager.java @@ -2,7 +2,12 @@ package com.gh.gamecenter.kuaichuan; import android.content.Context; import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiManager; +import android.text.TextUtils; +import com.gh.common.util.Utils; + +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** @@ -10,6 +15,62 @@ import java.lang.reflect.Method; */ public class HotspotManager { + private static String apSSID; + private static String apKey; + private static String apKeyMgmt; + + + public static void initApData(Context context) { + try { + WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + //拿到getWifiApConfiguration()方法 + Method method = manager.getClass().getDeclaredMethod("getWifiApConfiguration"); + //调用getWifiApConfiguration()方法,获取到 热点的WifiConfiguration + WifiConfiguration configuration = (WifiConfiguration) method.invoke(manager); + apSSID = configuration.SSID; + apKey = configuration.preSharedKey; + apKeyMgmt = configuration.allowedKeyManagement.toString(); + Utils.log("=====名称:" + apSSID); + Utils.log("=====密码:" + apKey); + Utils.log("=====安全:" + apKeyMgmt); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + + // 初始化用户热点 回退到原始状态并关闭热点 + public static void initUserAp(Context context) { + android.net.wifi.WifiManager wifimanager = (android.net.wifi.WifiManager) context.getSystemService(context.WIFI_SERVICE); + WifiConfiguration wificonfiguration = null; + try { + wificonfiguration = new WifiConfiguration(); + wificonfiguration.SSID = apSSID; + if (!TextUtils.isEmpty(apKey)) { + wificonfiguration.preSharedKey = apKey; + wificonfiguration.allowedKeyManagement.set(4); //WPA2_PSK + } + // if WiFi is on, turn it off + if(isApOn(context)) { + wifimanager.setWifiEnabled(false); + // if ap is on and then disable ap + disableAp(context); + } + Method method = wifimanager.getClass().getMethod("setWifiApConfiguration", WifiConfiguration.class); + method.invoke(wifimanager, wificonfiguration); + } + catch (Exception e) { + Utils.log("======" + e.toString()); + e.printStackTrace(); + } + } + + + + //检查热点开关 public static boolean isApOn(Context context) { android.net.wifi.WifiManager wifimanager = (android.net.wifi.WifiManager) context.getSystemService(context.WIFI_SERVICE); diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/IpPortInfo.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/IpPortInfo.java index 1bad096a1b..a829c74cb3 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/IpPortInfo.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/IpPortInfo.java @@ -12,11 +12,13 @@ public class IpPortInfo implements Serializable { private int port; private String senderName; private int senderIcon; + private String receiverName; - public IpPortInfo(InetAddress inetAddress, int port, String senderName, int senderIcon) { + public IpPortInfo(InetAddress inetAddress, int port, String senderName, String receiverName, int senderIcon) { this.inetAddress = inetAddress; this.port = port; this.senderName = senderName; + this.receiverName = receiverName; this.senderIcon = senderIcon; } @@ -51,4 +53,12 @@ public class IpPortInfo implements Serializable { public void setSenderIcon(int senderIcon) { this.senderIcon = senderIcon; } + + public String getReceiverName() { + return receiverName; + } + + public void setReceiverName(String receiverName) { + this.receiverName = receiverName; + } } 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 623dacaa56..533e29ac8e 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java @@ -26,6 +26,7 @@ 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; @@ -63,22 +64,29 @@ class InstallFragmentAdapter extends RecyclerView.Adapter gameList; private ArrayList sortedList; - private int cardMargin; - //下载用到的map private ArrayMap> locationMap; + private LibaoDao libaoDao; + private boolean isRemove; private boolean isSwipe; - private LibaoDao libaoDao; - private boolean showUserNameHint; + private boolean showKcHint; + + private int cardMargin; + + private int maxWidth; + + InstallFragmentAdapter(InstallFragment fragment) { this.context = fragment.getActivity(); @@ -94,8 +102,11 @@ class InstallFragmentAdapter extends RecyclerView.Adapter runnableGame = cManager.getInstalledGame(); @@ -346,9 +357,18 @@ class InstallFragmentAdapter extends RecyclerView.Adapter 480) { - holder.swipeText.setPadding(0, 0, DisplayUtils.dip2px(context, 30), 0); - holder.swipeText.setText("释放分享"); + Utils.log("==================zzz" + leftOffset + "==" + maxWidth/2); + if (leftOffset > maxWidth/2) { +// holder.swipeText.setPadding(0, 0, DisplayUtils.dip2px(context, 30), 0); + holder.swipeText.setVisibility(View.GONE); + holder.swipeShareText.setVisibility(View.VISIBLE); } else { - holder.swipeText.setPadding(0, 0, DisplayUtils.dip2px(context, 15), 0); - holder.swipeText.setText("右划分享"); +// holder.swipeText.setPadding(0, 0, DisplayUtils.dip2px(context, 15), 0); + holder.swipeText.setVisibility(View.VISIBLE); + holder.swipeShareText.setVisibility(View.GONE); } } @@ -520,14 +543,17 @@ class InstallFragmentAdapter extends RecyclerView.Adapter postGhzs(@Header("TOKEN") String token, @Body RequestBody body); + @Headers({"Content-Type: application/json", "Accept: application/json"}) + @POST("icon-default") // 上传用户所使用的助手信息 + Observable postDefaultIcon(@Header("TOKEN") String token, @Body RequestBody body); + } diff --git a/app/src/main/res/anim/huojian_test_anim.xml b/app/src/main/res/anim/huojian_test_anim.xml new file mode 100644 index 0000000000..8938d9f075 --- /dev/null +++ b/app/src/main/res/anim/huojian_test_anim.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/anyshare_scan_anim_rocket_fire.png b/app/src/main/res/drawable-hdpi/anyshare_scan_anim_rocket_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe3f27191c5f4ffc8579bef0ddf6d1de073f0fe GIT binary patch literal 1426 zcmZuxdpy)x6dxfa)-o#NZ9MZDAL|u^5gMa0BV&6^gdNWvnY0Qu%xFy>OCFU(LzG8( ztWZ0vyqfVSM7u?KtYtN&`5^ja(D>b*!R|l1_jB$!-}^o1d+zz%KW>IE0jnslE)Rpj z6mec2e&XmV-p)Iu#ohwv#)rYAynXThp5h}k=J)^B>kU=7KvgbKEe0xaf^MOq5#N6+ z0o4RV7=aLd@U0FwtOaG;Zl(as8n`2X%U-Bx|5h;%w*{`)1FSkA>wzd^sPTZ91hJ-2 zD|Sm5hy*^GAZFjz(M=67P+P){2|=70H0T4uj3h#T9bl&lj_XOVSmmt&qD_DY0tD$x zc*or!-W-G&Y_$?I!3Izt9#9M=^>(UIKVCAS7$4JvZaYhu%_}y5q{BZ3b$9`ymLyy1 z1pQ8c9(rt6{@3U4w?&FyGbYZDK!SAx0b=KBx)a!3OG>9V0l8cfYe&J9XoD~Vz?vjR zo{0e9i!hG?SnC^WnlXF<`nlX94q*Q#Q@I4F%ofQQ$>w`nT|69?7d=PP-=+k|JK+-*_i4HG;=Z@@`P*P|k{aDIv$#{a zca9dU$=#$IWQwQ=9fMTfw4#k_l`}U}O20S9o00XxEfoF2*S*o%K*;^)L?rS!+)A%$j??{7ugAuu6c)n@n4rTqjFT=-aWfmw4W;liy z)2}?X?w-9EYllQ_D~xGRI9`~m_`FJk7yMko&9wNn%zG7je)Q~EY7dSr#ZpT$w?b3k zo=mN$>nB>;4kg^|_D{|^#y_;2~tRY8566}pmn_XC^{X2YKes%9eBYu(iJGrCfu-EQx-x2= zq@Bz%yL%oHiIX*W@7-TwZ_`QmOdA^bsPW^qNs9Wx+RIPk*UJ^GQo{Uw zcxvZq7{Tp65OOW+hwX05oHGNAbu_19P<2_+ac@IJ<$zWoREKC%zT)>FbY$uxg*`oIj&p^6Xmxi=PrNG}ge#$4;3tQJ1? zoTBnD)po=oD_y`$qU>tpynDnuYXrAbD#m`)f=B&<;ER6)wdeCG literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/hotspot_failed_icon.png b/app/src/main/res/drawable-hdpi/hotspot_failed_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..558758d19956cdb2ac42f778ed2e136fa73b2bf2 GIT binary patch literal 949 zcmV;m14{gfP)7*Cv;8hSfVfu7DWoISSVB|hEU+bK8l3MRuo7YQqZ`ip>c}PAVpAGA}&IT zBtlUvVi`JP}m@EO6hnb8Romy@_kgezwjj@`PDB-6b24$f7hiNJEK39{nHvI91M*Tol zfob6Un3n#* za6k3X|Eii)b`Df%n;$b}*QvY)uvL@t$*`2^tHMkww@&R;%J{=rt4Repowafqm{-a# zp6$xKpVg$@0i4|hOs1+(nfLvgv{ivmb_uf^sLcCrP1-lD;uvB8_%V!O1FK{_qbL9CJ%KjV&pXyp3j3}$G&VD zKTFHN342@Ichey}l2X@<<>n$gYwAU56E`C53hMg^Q`g#g+{s|_K%^S?snpHi?h{lU z--X9ht-87^(5CcU*YFvBle%`VbSPq82#=}A^o2n10;jZk>XGgPy{x7pR@O78!fS_$ zvi%FZuQjHc_(kzL)l1{iwkaDkDRu`;FCfz6yMP(3C1C}BN!ywabWg~GacwT{UD2A_ zGZC|}80_c3Y7xKNd0=(C?fSY@T#-tM;avMt2Uh)_pl#!ucy&9{%OJL->Y@K5y`267 XYWNC)VO{JB00000NkvXXu0mjf)tb(! literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/installfragment_footerview_icon.png b/app/src/main/res/drawable-hdpi/installfragment_footerview_icon.png index 58b6cf8cc5f93791b4c1e750d8917a0ef35d456c..fdbfe64a1a04dc4a8be69fe0eef8f235b4e63c3a 100644 GIT binary patch literal 30000 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�f^$L;1K53X^kZ}Z|2$u%+5AwdHMFc7O=;`h> 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 literal 28914 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≥DX}fqkM|% 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 diff --git a/app/src/main/res/drawable-hdpi/kuaichuan_rocket_bg.jpg b/app/src/main/res/drawable-hdpi/kuaichuan_rocket_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ee71b414117eae7ded1304a97a6d189126d70e4 GIT binary patch literal 176990 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

Flb!?X` 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 <-VV-W=+3n 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ℑS)5Fi_z;_**kIp#6_H& z7E8>)ZnY%3Whil7>6i1!q;}#o!L4wC=A?_;4u{gc2GOtYx!+KIIC`|mGe@{;^ptSs zX=7v;neY;>LrnhDl=);<6BVE#?(nj-Q;{kv@`Q%J#8Y+DCi z!4b<6Xx^9XT(_rMADY#V8={#fb!e_PL}~x5;eNYvBn4!G44l~t>`Ybu>Nm%6HYRKY z00v(*J0nGX4JCXFC?JNrDT{{|bN_Ke<87XkHjr@h8x_YxG9zs4C?$2AN?E5yEPk{A z5Ptq$;BxaaQZp|nV9xCp3*4doe5oVIAwX3CP_|NBUms~u0;^-mMJmNj5AKa5=$0o` z@H$&uZ$UOyC~*lC1qId|TfI)ghQ{tIkrvm8FoB`ZS2`?&GAran7Ulyv&+UD5$6oJc zApP=q-NUT-kGHy-cmKv$l?x1ZC=(i5SPLO4BL zkMUO4AJl1FAjYJ@01*V^e0uO%(70#(>s*k~w%RnlXW<50PEq-9&wYO6fU|KZi5C3_ z5V*Olm*e>W0YSbt2}uP_e@0w8{eTr`@t_8I^@l1`BWd!dqUib|R|ddLB0eXA#!1r@61=#YqnejCRpmLrY*GL%Y9!m3&?)J1yJQ`0 z*FyX?KU)*?bz|C5|CSDRan)v2^)>6ABuIKsPkvG~w&C6LwDrufe)qUmogYM4Y}s z;dUPbyn`67c_>20qV@ZCF({U8Vvo+0Yu2 z75hfM_Q@ukEFdw0Ctv?2Utwh?vEr)Obbe09IfmpqWnLKP>tTDEqB z!-dA9>x%?F#A(vqJP-d{edyX3n{;G}9yTb;kfkTs&ng)wDIiOYoSaAOGANTS;tLy0 zPK4jx_)N3wLAQ<566TGC>cidWl2txr3WPe;oPD!RTfI0k6~Z8T)DEZNUuy#B1k6VN z1?BVS0BS9{3qq~mX&wrQygr~_L|6O#Q7q1U23_RV51=P$c#e@vse^7dNJ+gbze|_E=?8}-jkXiP}sO`ZP(svjiU>P4Vzd1m&=D>ngeMH0h5TJ{NRlXZey{E^j(5JUK z_754FWQBm&5jtSf+vt-M1%PUhHI7GM4`H-|ab50bb##lD`f%K*eB8zYKU7DpAqZT98S!FLCAmg=3&6^e3XZ+v7Y0oF%Ab!6RKdq36Odi z5yBA#SCKX_^F_>pTXe9K1hE+u0qXVx1I!dMrIK;m2aDhjy(~amqlbAa98q8uiG~r0 zaV^Kdhe{Br2xF`v`Y=qJT5HfN8a(#>P`XxBg235^OGtl5&hC4|nfXO96AzXK=sJ3i zvFF>DBZQhk5b(W`o&^S@0^y}vu#2vAs0>XXBn%X-_dAtjhBRxapZIIHc<{jUIFrII^ZS5~jqhm^!Hzi24Vd43AFD z>*vvp*1W_LJ)?ohsNzve(g$qNy-9>bu2%9j>bk!CYDp;x5ji+|T0(yL5x%y>B$JF# zmaO?TlL2A8FO)L-Z0C zveWA2U!#eSD-0pUSuUPFmxdy!VhU-|Dg<$!-<7aVg&O&Ia6L5Fj$FvRs6Mt0cYq0Y zSaJ2bRl79MF8$VKuH8U-F#Fs6;+zevG0V^M^>h_Er8Nxt;?>$iD}VG!*Kc~5)lC*P zgY-+8aBKVl|KqlS#A?)+i}aC|?8lR=56UJ{vPhwk({=`itW~m0k}(DLL|FA3{M`_? z2UW>eY|DPKW{@1W<}OFTQ|cqyq3w5KxQE?w-s#rGYth3I2dq40R)RA6fND30k_zQe zN)x>bPVw^TPji)$zFP zlA?r4Q2;2?#va5(rdqRK%_C3O3hX@do5^TSi`48_l|TjJFmvlz0wzHl&h*swTK27q9_|x4ar1#5q17Ji zGXu}eK#c?N@moD`&LXq_Q@Ey$mjo-RRvWZp@aADKWesJweXt08Pg?(ffGyQ$Ur{3i zwW2U~PigNCC{v)P4!wQUEY`lM7ujEPXDRYno5;V;otv9*E%{W1Y?Sw*hritLwK}tG zKy`3EeH&A29ry5?LyX0TA0M8#rF7QZ&*XoO+p)gim@*GlJnfoB676}A{v7Rt4nN4| zV{KUtrssEm4;~6a!U>gis1YV#mRr*A_v+7^GH_ThMG5+EA@-xGFq@!#3fS>Bz)1@~ z(BqQwq1@$WQ(Bi;e^Uk$KFF`zrSmmDL~CuKII=w& z44Uc$6&H-3+YGbuo9%c~k^U^mxZ_}BTegsYq|p>C2RuY3&u6@XE z=trZ=%^s4OCF`86qZ|A0-e>&6jGZJ@>GAen2479}{6$83g&^DkP}0hKAp{ME-tW~; z=A@1>^0lOcTEYIia5#1~I6NVfeQFZqlbtQq{<}V!0|e~1*L%X_V^p6FHf2%EEtwvI zflP#BzcWf(V^D~jptBjkPd~#ZWmTMia62ihkvXK5{|K;7)I#iR(|qEgfz*%0o69xA zR0e>kkd|UTQ=JS36h{neDNg4fPf3qoNG<0>W}OfeB;JzhHLkWPwjJ7=Rp}1DPnG78 zAjOuTG&zaydA66yZe7G@Mx4dzLL%Q(oA1Z>b#vVe!&9Cx-^Q?#)hR-qpv%R~xGP%6 zv!D4)hvCv!wC19b@d(9}gEp%W$-Z9WCX za~1e)Xk856;mXP6^|Y6xj`4zDZ+rzyvrR7x)PCMuKY5RkK@oN72YA&W-4_bJ?O2$q zw|;1;R;dc1sko-snLS?g_|;1y67dc_r7YiLZI4hLqRP4tzT>|#H@P)$<;N+XFe}{$hGUzH%3QXQ0`=NXH1I zZAC0S$|?cqL_tqI?KV3{>uBWUgEvE*z)j$+Efe9;gS&P;{jhfcK>X*R1Vs9v#d|v; zPxX}%+F@=;{G+sS61Ao}iq2V^QK=b`Q!G7B6{{A~5@qyr3{6M016c-}AK!c^+dV~kh9 zQw8&I7;iO1)YI*wD`dmitRRnme4T>SahsyF&&u{Dw@i=BlF}QR6%7i8?S-ksexW~~ zj~H}WmdmO=&!WQV-jO1F4w=y6daF&H9+_m31CD47Z%epn$KH}k)|!VS5unBCocySC zHtO;LdKS^m7J66Gm*YH;_0poXye=69>d|U>$c8pW|ONU0x{_7_DJinPz(q-yJL%)A{X8@xd)M-K@ z5_IyRTAIWt31b9t41oI~+BN;NZz`OJKm9;XfU8j_-aMPpG#IiL6uHAv^#(DXMPt`! zWV!gY0`2)+!bikugTBM!Y{?z?ZAC?r)<-Lj`G^LVY+!)&8VVdrdJjHnLy3-*YJ#yJ z`GBfBONU;<)+AZ7#`2_LAGB6riHeVCU1$ zVqPBkF=){2$G|}SQLM{|u7`FQ>b0I4uAz&q5-@U6!juCfg#JPS9&sg!z&bwTwAaIS zuL)@+I;w&3P#NcNrQV1=32t|&>ePV4D}Lf+tRLl{$FN+}G@nX=hlESOHf)lKq94Ds!cqhVDaU?$ zl=^033x#^hU8;aVHR4;*PrU)b9TG{5_#(NzpI)jA2KU3Ht&Kv{>7?c(eRln063Fi0 zwFr?zdQ5cb>KV((M41WOOABR(Bup4;X&+7mL=c5C7#}W`*wky$Kc+6d8%6Nj$b=V6 z`}y)c9*-N_Fjy|_n#MT)>np7yb<&2~^XaSuz#7eZkE&KzB0<|?d&wj94R`he6xpBq}U)F5VU%yS-0N6VU6eRmG(0}@B z5B;`v-Disp2nIL$F$IAX9(uDEb2Ujeo9hufO*5BV*AKMqk(C82B*1fVR9xwb;c`Cgdr12^zYf zI9|O14^jH^)g?MJrvi3ud>Xm8v=e0Ya?)L$1YKV$@Lqh>2c=;((;HeV-9duNVRTvA zsDw;-7iyVG>wOm#>m)Ey1kGN1ReTT?b(Hr?{F_@U*|kC6z)a2UC;U<&%?OCF-;Bvj zR35OY79=2L{U;Lm)6zC$fdbz?E)t09c=SY=edjSgx`h55gn;MCBknIdG|%KqJQ~R% zMfz`-X@n^&5{(vr!Gm@+8;6UUPl_qp45G z3ZqoPqcxv7a1l?Y%_{d`O++KB1P!3ptBv#g?EVuROCw8+wGAx~*7~G~!_$riFofN= zAdZC^eED|l+u0Y6?Ve9c`M9JBsyhDp{%`nv1yl;VI2|$&j%%FxsHdjpPbjutJeOEt0p7J3kDk*f6hxrQXK!LAZ8g^(Fv5*?9mFWzxwoil3 z?`8osxZzNJupGIk*&jOMB%;i%U2Y%6U)|w)-H`k~*6}1(EN@I3FMk20_e&zDn_V`z7|vhF8Q|mi;1&0P>cp z&xr3jKX9+fS22}101t>kzgT^?(6RqA@3fNtLQX-)if?XDvh1kD!9~A zL-G!9PAmAycdM^$<-?K-S&5JQwoSb%+LGwa5O9GkT*{EL$ZZ_p7< z_}xC$<1fN~$$Rqo!ap^KD_2uHp@j_a(F{7;mjh!Xy+nkfmNTVP*_poFAwzqk=y|nli0Qygyb$ughvqZ0F~~1gOhrO~I{F zQQkJb7bPwYOx==bgcr>yEM)%_2N>r|z&|R%x=wWsrN`@pk|VqE+nwr4+vQXR#Z&>8 z7$}S$LSGEt?2j*R5}0$j~e5RlM z*8VVg))k-Pb(fUBEM{VGcMb;tWe+f|xf$ zYMcJj6&PK<9?B>z=C%ArB$3<(lho;cCJ-h?2z_Zk00B(h3soCW%Hw>T3KMNzQ@h05 zQdbTrc}*4Se40yUWLJM%&co_5fb3Ws>3(5HAB%CL9{H3;<6L7S3|&zHi9!1YjiT3* zhUPaYwYca^1b6sJq<^r>qUCfqY&C#@+mfKJ=-RKb3<0X~2Ud%>rKJDfni;H#YbWI` zPm4v+XjgS5c!5j}y<{f9geBfvUiTvw8j`hKkKXxnZ($%%YWR~)#B!A3kAq4VXLxvI zmW7VEfmi|rqoH&1IwS&al=X!O*|i3Jr#j?s@gv|~(2R|2KGGc;f(C5v?N2JlBW``3 zZJ|;zNIe5#q5Gpl)gxe$r=o|7RhAMZ2(vATOfTd&1loCQSkWW2sb#SE@G;BVERY0v zx86w+aG>`ufq3N!Jpegv5CEXbBH#CY2%SSKXW(H6P;)jzZUE_jH5=AF>OGM#ua^#? z7G5VOcY2&O{Z2pn#4BON(Wd=LEj88!<*#TLoR-j znw)kn!N+rT^3*AlwjWguO`BSpcYmOa4~JW{4tKP&n)Flf(}BN}>gnBxqrDsgNiE7` zESqWn*q5QNo>~qA02UcBCDPIrZ3KusBYUZ9)B&R(39`G9Eky%k;HeBR;TMhM4-R-8 z9OXQu@q!UBYl-{3IM_YQ>&hme+_s`psHjIxvtQ`O@0!L5yPq_GnZGJpJ?@SZH1<^q zA{=NN_S0N_?*9SSn+H|oxy`q`#2xLhTVm#Qjd38Ip^jwFqxskA-q>j9P;Yp^55JM> z1pLF5jqajuYbZ$9$bT=?Di6rK{0vKuH!9NPhksCG?e1zQuT{v_tmcVe79;%qV!mdz z9i%JbakpfkhyD}N@=dKjx(NK7?YHF1YYI_DX)A$75Gopw%$97+7k34_=P@Ob?3orF zLzG_iQHt1y{Eibg#)j%RW~Y`4?MRzisyR=yFR97m>IpE)dWpN)HDi}{lmOfW@kYTu zRtxA(lWXtarY;iV*lm=fL`S5uL8r&iyH{IW#XYI+gR9`g%3i~~pa0)ng<@_4;!~UR zG_A#{Yk)x_;>;dU%k|vT;g9*Ee*CTVDsjXacMAPQq)h5yzXAWG-pH1U8pye=f4VBO zb7r}pv(OLFhV*wAgQe zY+HE1BKNF01rnLqu&S?Z5G?cG+6Kk{R~g8ErzATULWhK<%;7IV)AowoWBrA*ou*(CtIy2L9O{PhNo!H;RrIBuf9g~>Lz zV}MxL1W2_p6akA&h9C#_z2UPujxDE}7~il-(KQ?mkt z^(tjG$kG;pcFv(G1~0nh0vWC(Av1<`)(As8blO@K0mb`lKzKk@=}^<|F8$ez-Zf=$ zsd=gZX>m;kOrLsqvKc~r-hA!Ga=aL!2YqAUe@FR;sB9|Thk`r^`4axkc(*ik}(m}wbfHSeU$4$lQ zwzSzLx=6gl%z)ZyAqZMifmKmKA^539kHIiXUyC@{Vf;Gqg)$SxIH4*G@`csOq{;+^ zq`m5di;Vl@^Clc!QF z>&peI->W~{-m6&RrWnU;w8^_1JAp7R8+U$kcBzM3Bv(hg0UxEAGmkHUlUi;_RQM;%KPiGYs;Q( zuCtoope>QIu5E`la+^!O%KNOLJ75s;!)FKQ7&Z>PvMN;Jjdw?H($9TRgTD=r3w|-d zXWKDCwDh;uPoJH=nv(r^#{8`BSBEsR&N2HrF8%zMx+%^t_OyKS_0vJKzh2PUIm;o) z?XzonO=7n-ve%zY{^iW#6CTsHpStu->bk%Qvm%mbfncYS{2$f*e?tO2z7fo~o(Lg7 z1(XelYc~qv-UzP4hD5<9xRS{1P(px9n*?E~UKJIq6PYKF&ecGL`3e)6A-J6_*g2187%k=~m1~mQ(wQs8Xb)iC9!9kO$D#H?zEu{~j^deDV+}Pp#5!%014s=yg${i{7Exjp{$ILdn9&yo2D_~*guhOaLpYTC#%!jrc zPKut>9+?UfT$+EI=KG$u8)nYwT^_hKmT%ZRb&67as6EhIp)2PJzJK6)wj!7#py-x9ZdaGRXd~^zQm9$r42w&a07yUre7o z*2$sf*_Kf4>nC+%zcLDA)(tM3a)p<3VbtU~U;6J_`Qw|cxzkv|Zy)dQ>GH&mziDD` zkPbGvetEW>wius1GGKYe)UBDR`vzXycKQ1irQBJES~l1s!65ZV`1E*)orfx2>3TPSr`Ib_E~ zH`u6qB_V7{oF7)uUo$!cfiHOLF;jP7aBBfO38XUAX+CzD8UB^(Fs z8x@3h6374u?Ue9*+g!;!N;EATYU`AycUGIZ&)YTCD;OEj3|k$uOS8JCt{`R=U3Y09 zwi?!T&PY z-4F<~Q)*<;1ytY44bHw~(MNfg+_f!y>G~ni)5p@E3s`QhKzM9jm4F7Pg8WAkZ||4N zaE4(txS<{j3uVuA4Fsdnm=A3z^HeF7(4GIhN1d=^U(_g{9$4$2 zuRwF(s@Yc?EV^$1Rglb>+8R`sV1OX3cZ<1O)KRNGQb+CK(JQd$H7%0$U95o-1E@_l z2(6ElJRQpQ0~Zr_*Tq&M=O78yk`S`0mJgb)pFzS!RhfcegE%ILd)^ar5t8zsE*gIp zWGBJ~1<=nRV%c$Ec3Bpyq%tB;<$*#qC)*t|^?#$9`eJ?dy*mRe85>;4ZT~UY=cBf* z4^?`&FCXa?f{yN7sL(kQbg1YDBlt=50{!SE_o?M0$d@QI+r$zg5}*ut2jJL0tZ-2b zz4D#a>slBz10}XPNLzYmv8u!%IUvbSt3^KyV;>7uNu+=#BqJ9vVEz+l8%pdg`5U77 zLA2K#|6v#D=s)WCXoHT3>8-0~PYGt`E?MXx@%SbbDKR1Egj>A*mm|?4-^FEN%p07f z3op_gV*j;z+Z%a(6A+Xw)pOrFmH!IQdp~(hEk8)UL?=Q2_>6LfAyEi0KRxPKI-JZu zNQhuSNWOA~6vA9hW{o@}1 zG-o1wpdlWmt&Hk}CgFI?t>d=KZ=i+0kccr{ zoxRtHHG}0YY!Q z|MWEO=Js#GWRtdxOr;w$2B`CaVY@i$*u`MKH!!2|)~H@}iXaOyLZ$VpMG%18q4w2y z?Iq~n96)3Q4q3H!(dI!_I+O<$GF+MRRR)EaL-OYl8ez z`Ojo%4z_J(Otfn4xw+D^T7H`$r#M{)o18%M4r1z-i-H3bot!j4|Ew)-PC4yk&u`iG7+8;48Iy)<8sQnJm3m<}vokAPs?Sp}>D-|k+i z>U@=jd6VKCL@eSdkgbEwxy)~jn5UD=qfW^X;^aJ&Q-xa-0?Dy zq44K|8j!;K)-2AMr*Yx~Ey-KY3tA@$fu;}XjKX1_uJJq}u?Kn`dCpHW)LIc+l`*P8 zb*v#9I^xHcSautFfLh&!%>J(_J?-Onl*W>OGeyJ4YyJPudf)b8{14p_@AHQiAQG~K z0P!-Exwr~ax_@&^A6|tqN?OZ)3sR5+z)Z&wd~}bu?-c+_xBstwt)Ni}suRu77TI#+ ze|wn!htv9BAIX03pOR}p?|lyTf9Zby9(I6U8cDw3zJ-J??Hh*Lp(mY&O>euS93eqp zE_KCn>3L9d(ThqlV&9a%zNi@}NR2Fk;gp~pf}uzPikjL%fx^x{JouqpK`+NLYe3MD z5r3rta5?0tFvGDu+SsQ4ThIiFKP&Qhmgs{*z>Qt-ioH)bmV>R!H|<7^77hvOL|l~7 zzVcA4Nl(39GxEzT>DQ9ZiL*cT{Z6^kbGh}aDZ&e%J(!yH zQqTmWKNejECQTKls8aVauXddq#{*`fZwK3_TFzOB}M8$&@nKMG9bT6)SSa z-Ckl+U+b%#{r38ywTBBfJsAVrV?cjm<;*n2|5w<#$0dEQaU9PoyG^(DI<-|srOsnv zPRm;5HB0Sc*ab;JsF}GkB~Q{zA+)tQD@(dqY^L!z#z1FsWQF-~&AK&lue4h8`^RR+6(YfUVZI7uGx+{ftB3H0<{Vw;U%;JU4 zF+1`bMAJhr=cMMO+nwZc3Yhi9Ko-o`Us0%36JI{T70Q zo5R)@geBKjad&QAar3-ncy5faSM~Jv!q9F0%bT!Z2U46Pn?nI3h@)T}Dm;F*w9QHb zhui{HCJ%(|?CX$Tr@SZOZz=KC${6S$T~&!vgEJsLzg}q&Ml9=AvI%jy*$3>Bs_4h? z&`u-|s%zJP^kOMK=tKv$2Bry2iXE{)$40?VOsE(HyAvMn*CW^E4td&4SjGCIb#@c@ zVJu2RltpQ1yA<+jNJKF5wV;G|DA-$PGhzy1y~zckl3i=#l_c0Gt-ZxVTQ=T6*^Yjt zP6lf*y5863!^*xA7Y>A6nhH849gToTdThLXtgm<7Tvu)Qn2R&boJ0}*7yZXr6^&RVrC>iCD8M;_wH`nt zxRG;WMdQA?b9PUpX|j)#!4|5Sc*Xy=Phk1Z_`0F08<*c5N>lrS+XfH}c!P76H?U0n z0bBUn^Tq5iRq&r#Lflc?G-?xl$7`xQzGR#NOs5D594$=8s{B8F;jR7M9gPbw)8fXz zf=@jdQTcT7-Jp=ocPR-U5T_TAniSh@^;R@Q6_I~YV0IgLbwXK+To(t?<7cc@SS0Nw zV_R*Cr9+04CV!KCEB_Wm261i;QMK&hPRK;VF1obCXm5fRfT^Q;1GvmE*AJjct-kk- z+PJdOa0og%=m3}li^CJ1>=|Q=0?v4@7_4I?rY1sh3Yy;$oxdaA=AyNir^L1$+aHgr z|AYZguI#AFgqbuq{czsLO!6m9!rD1@d-pxrpfTN1c0`;J?RvQ}QonS))6t@v@~vw& zvU{!+Gh03jbRg#|i2BYEuO}Cx`5%b=e!EZxPSS$YPHR?Q2y-}pHz+}jk<((G z+PooDkI0>j3Sv~U4%gJT$Jph?bg8PI$Y2L)Eghw*?f9^E2PPUr!*?LaHGMUwL-h1 z0YOe9;4gU(%KIJj`e}3c# zd)V$v907o@i1oa=xN<`|He0^{0x7ZHnPaT9U_kvXJD85mhvM2*murEgJ>a+%peun6 zK}Gci48R?4P&>~5O60lPoRQeV-aEsrj@80N6^(ZOXTy8N$rs(#TZX#M4Z=>T>yB%j zB_1k;ZFN}|&8|9r$wyx~tngptUPQ1RS7_xoKWlK-04-rt zM!DDp!XIZTRb+akG@A5J$gPRH3d0u|4jkyOVK-{FK;I%;P5U2F8EOIh?gGe7SAH~y@LRtAjQ!J z-g1MG6C z{-iXK_fVneQEz?Ej*>4T2lPejB7-A>2`BomWpbvHnxccTY8YVG4 zOEE+QF#PRVa{zw?X??Xk4eRaiEHgpyQXgQ8McO|-N&axwkfkSQ7fOArNUgs$KqtY5 zQ_(xNl^o#jk)GS06jouHR#0@=v*fGG-|xMuZw<`cT##7k9CSK#HLfe9{nYkJ-cZLd z8l=zK>7T#MyV~%1*Pg57vspA3VwlZR&WtT{;&(3JnR9iLL(BZsyI=X@t*Mh!2*Ao#VV_RYbs4XyYw>SvT}2}i zY8^kNI6#Q^B4pe@P3c#*oM{9-MNCY^!PN?l@>DRSiyHzQ$ykM5g-?Bbk;)qHxqq zkM3)wKTE%yZWzwpr>RfdG7m|ZKh-k1ZWeOeEMLGI!knb8j2qK0WQ$;Q9!X<*?bY7x z&B};vI1QUg9C@^tjY@%h#emR0eYX?gPHLLU6JpvV>9Al2i5fZyYrj>T7xk1L{dt=~ z@_2iWSe_Myj|41(*I|#?Qq;n90oVDS7RCpSFKj@&;Jq^U-VeH@li6k!vyCgmheR2j zjBE%#1Mae58BB1khdYHybAGB}e4YIS@?l_@lT9B~Ka&KT*{61OT1&yYHwZLD1A&?m z5vZcQngZk#oMKsd9lj)6q9OZ+sjdS+%6`=ajyi5HPG_#{5UtR!%7|jK+fCW`XlyI{|6mYOqc)w literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/kuaichuan_rocket_body.png b/app/src/main/res/drawable-hdpi/kuaichuan_rocket_body.png new file mode 100644 index 0000000000000000000000000000000000000000..16ec84b6f6ab1f5f3938f720884c7bc15150f578 GIT binary patch literal 28004 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-nodpi/anyshare_scan_anim_rocket_body.png b/app/src/main/res/drawable-nodpi/anyshare_scan_anim_rocket_body.png new file mode 100644 index 0000000000000000000000000000000000000000..f71694e6298d40734baed49316c5d25b650ebf3d GIT binary patch literal 3713 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 WqoLRLRp=jT20g8Zn$UZ;k^chTN+r4g literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/sender_hint_bg.xml b/app/src/main/res/drawable/sender_hint_bg.xml index 016e9a9268..50af017a5f 100644 --- a/app/src/main/res/drawable/sender_hint_bg.xml +++ b/app/src/main/res/drawable/sender_hint_bg.xml @@ -2,7 +2,7 @@ - + diff --git a/app/src/main/res/layout/activity_choosereceiver.xml b/app/src/main/res/layout/activity_choosereceiver.xml index e27f273dde..14715ec64e 100644 --- a/app/src/main/res/layout/activity_choosereceiver.xml +++ b/app/src/main/res/layout/activity_choosereceiver.xml @@ -6,159 +6,234 @@ - + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:layout_height="match_parent"> + + + + + + + + + + + + + + - - + android:layout_marginBottom="100dp" + android:text="准备发送中..." + android:textColor="@android:color/white"/> + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_clean_apk.xml b/app/src/main/res/layout/activity_clean_apk.xml index 259c65b7c3..ffeb576c9c 100644 --- a/app/src/main/res/layout/activity_clean_apk.xml +++ b/app/src/main/res/layout/activity_clean_apk.xml @@ -54,29 +54,49 @@ android:layout_below="@+id/select_game_installed_ll" android:layout_above="@+id/delete_bottom"/> + + + + android:layout_height="67dp" + android:orientation="vertical" + android:layout_marginTop="-7dp" + android:layout_alignParentBottom="true"> - + android:layout_height="7dp" + android:background="@drawable/shadow"/> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_downloadmanager.xml b/app/src/main/res/layout/activity_downloadmanager.xml index b56054bfc1..1cbd02fe9a 100644 --- a/app/src/main/res/layout/activity_downloadmanager.xml +++ b/app/src/main/res/layout/activity_downloadmanager.xml @@ -17,6 +17,22 @@ android:layout_height="35dp" android:orientation="horizontal" > + + + + + - - - - + android:layout_height="67dp" + android:orientation="vertical" + android:visibility="visible" + android:layout_marginTop="-7dp" + android:layout_alignParentBottom="true"> + + + android:layout_width="match_parent" + android:layout_height="match_parent"> + android:background="@android:color/white" + android:text="无需操作,请让对方继续发送即可"/> - - - - - + android:orientation="horizontal" + android:background="@android:color/white"> + + + + + + + + + + + + + + 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 6b7113d34d..103100a604 100644 --- a/app/src/main/res/layout/activity_kc_select_game.xml +++ b/app/src/main/res/layout/activity_kc_select_game.xml @@ -21,7 +21,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" - android:layout_marginLeft="12dp" /> + android:layout_marginLeft="20dp" /> + + + android:layout_marginTop="-7dp" + android:orientation="vertical"> - + + + android:orientation="horizontal" + android:background="@android:color/white" + android:padding="10dp"> + + + + diff --git a/app/src/main/res/layout/activity_receiver_waiting.xml b/app/src/main/res/layout/activity_receiver_waiting.xml index 98a2e50f97..8d0681c4f1 100644 --- a/app/src/main/res/layout/activity_receiver_waiting.xml +++ b/app/src/main/res/layout/activity_receiver_waiting.xml @@ -19,18 +19,17 @@ android:layout_marginTop="30dp" android:layout_marginBottom="30dp"> - + android:layout_width="85dp" + android:layout_height="85dp" + android:layout_centerInParent="true" /> + android:text="等待发送者连接..."/> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_share_gh.xml b/app/src/main/res/layout/activity_share_gh.xml index 260823b9f2..19a127169a 100644 --- a/app/src/main/res/layout/activity_share_gh.xml +++ b/app/src/main/res/layout/activity_share_gh.xml @@ -41,6 +41,15 @@ android:textStyle="bold" android:textColor="@color/theme"/> +