From f2476c84c4d8c5fb2e14c6666ad1abd5d0121676 Mon Sep 17 00:00:00 2001 From: juntao Date: Wed, 17 Mar 2021 11:18:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E5=AE=89=E8=A3=85(0317=E8=A1=A5=E5=85=85)=20https://g?= =?UTF-8?q?it.ghzs.com/pm/halo-app-issues/-/issues/1132?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../download/server/BrowserInstallHelper.kt | 26 ++++++++++++------ .../com/gh/download/server/DownloadServer.kt | 9 ------ .../ic_install_method_select.png | Bin 0 -> 1660 bytes .../ic_install_method_select.webp | Bin 968 -> 0 bytes 4 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_install_method_select.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_install_method_select.webp diff --git a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt index a11eee5087..6f181f37f0 100644 --- a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt +++ b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt @@ -23,10 +23,25 @@ object BrowserInstallHelper { private const val PORT = 32321 - private val mServer by lazy { DownloadServer(PORT) } + private val mServer by lazy { getServer() } private val mFileNameSet by lazy { hashSetOf() } private val mContext by lazy { HaloApp.getInstance().application } + private val mAllInstalledPackageList: ArrayList by lazy { + PackageUtils.getAllPackageNameIncludeSystemApps(HaloApp.getInstance().applicationContext) + } + + private fun getServer(): DownloadServer { + val server = DownloadServer(PORT) + for (packageName in mAllInstalledPackageList) { + if (packageName.contains("com.freeme") || packageName.contains("com.zhuoyi")) { + server.isBuggyDevice = true + break + } + } + return server + } + fun downloadFile(filePath: String) { var fileName = filePath.substringAfterLast(File.separator) // 山寨机没有 .apk 后缀但有 Content-Type 管用,还是给它补上 .apk 后缀 @@ -72,7 +87,7 @@ object BrowserInstallHelper { // if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) { // false // } else { - SPUtils.getBoolean(Constants.SP_SHOULD_SHOW_GAMEDETAIL_USE_BROWSER_TO_INSTALL_HINT, true) + SPUtils.getBoolean(Constants.SP_SHOULD_SHOW_GAMEDETAIL_USE_BROWSER_TO_INSTALL_HINT, true) // } } else { false @@ -123,11 +138,6 @@ object BrowserInstallHelper { */ @JvmStatic fun isUseBrowserToInstallEnabled(): Boolean { - // 如果已经手动设置了使用浏览器安装,那么后台开关强制为开,直到用户关闭才走下面的逻辑 - if (SPUtils.getBoolean(Constants.SP_USE_BROWSER_TO_INSTALL)) { - return true - } - val settingsEntity = Config.getNewSettingsEntity() if (settingsEntity == null) { @@ -139,7 +149,7 @@ object BrowserInstallHelper { settingsEntity.installModel.packages?.let { for (packageName in it) { - if (mServer.allInstalledPackageList.contains(packageName)) { + if (mAllInstalledPackageList.contains(packageName)) { return true } } diff --git a/app/src/main/java/com/gh/download/server/DownloadServer.kt b/app/src/main/java/com/gh/download/server/DownloadServer.kt index a7e2dd9f56..616c698227 100644 --- a/app/src/main/java/com/gh/download/server/DownloadServer.kt +++ b/app/src/main/java/com/gh/download/server/DownloadServer.kt @@ -2,7 +2,6 @@ package com.gh.download.server import com.gh.common.constant.Constants import com.gh.common.exposure.ExposureEvent -import com.gh.common.util.PackageUtils import com.gh.common.util.getMetaExtra import com.gh.common.util.toObject import com.gh.download.DownloadManager @@ -20,7 +19,6 @@ class DownloadServer(port: Int) : NanoHTTPD(port) { private val mPublishSubject: PublishSubject = PublishSubject.create() private val mCompositeDisposable: CompositeDisposable = CompositeDisposable() - val allInstalledPackageList by lazy { PackageUtils.getAllPackageNameIncludeSystemApps(HaloApp.getInstance().applicationContext) } // 是否是山寨机 var isBuggyDevice: Boolean = false @@ -35,13 +33,6 @@ class DownloadServer(port: Int) : NanoHTTPD(port) { logBrowserDownload(it, false) }, {}) - for (packageName in allInstalledPackageList) { - if (packageName.contains("com.freeme") || packageName.contains("com.zhuoyi")) { - isBuggyDevice = true - break - } - } - mCompositeDisposable.add(disposable) } diff --git a/app/src/main/res/drawable-xxxhdpi/ic_install_method_select.png b/app/src/main/res/drawable-xxxhdpi/ic_install_method_select.png new file mode 100644 index 0000000000000000000000000000000000000000..178a020923d1d2f7e9ed8a26f546f80124299d21 GIT binary patch literal 1660 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 From 5d6134f0ddb7aa46f9f8f03092a359586d92fb0e Mon Sep 17 00:00:00 2001 From: lyr <15622190878@163.com> Date: Wed, 17 Mar 2021 14:12:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV4.8.0-?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=BD=93=E7=B3=BB=EF=BC=88=E7=AC=AC3?= =?UTF-8?q?=E6=9C=9Fhttps://git.ghzs.com/pm/halo-app-issues/-/issues/1146?= =?UTF-8?q?=EF=BC=89--=E5=85=89=E8=83=BD=E4=B8=AD=E5=BF=83=EF=BC=880315=20?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/base/BaseActivity.java | 74 ++++++++++++++++--- .../com/gh/common/constant/Constants.java | 4 +- .../personalhome/UserHomeViewModel.kt | 1 - .../res/layout/fragment_energy_center.xml | 13 ++-- app/src/main/res/values/strings.xml | 4 +- 5 files changed, 78 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 41e932b1e2..62ddfc2ebc 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -15,6 +15,7 @@ import android.os.TransactionTooLargeException; import android.text.TextUtils; import android.util.TypedValue; import android.view.Gravity; +import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -50,6 +51,7 @@ import com.gh.gamecenter.eventbus.EBShowDialog; import com.lightgame.BaseAppCompatActivity; import com.lightgame.download.DownloadEntity; import com.lightgame.download.FileUtils; +import com.lightgame.utils.Util_System_Keyboard; import com.lightgame.utils.Utils; import com.tencent.tauth.Tencent; @@ -89,6 +91,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy private boolean mHasAddTaskFloat = false; private View mTaskBackView; private WindowManager mWM; + private WindowManager.LayoutParams mWmParams; protected final Handler mBaseHandler = new BaseHandler(this); @@ -314,22 +317,75 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy private void addTaskBackView() { mWM = (WindowManager) getSystemService(Context.WINDOW_SERVICE); - WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams(); - wmParams.type = WindowManager.LayoutParams.TYPE_APPLICATION; - wmParams.format = PixelFormat.RGBA_8888; - wmParams.gravity = Gravity.LEFT | Gravity.BOTTOM; - wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; - wmParams.width = DisplayUtils.dip2px(76F); - wmParams.height = DisplayUtils.dip2px(36F); - wmParams.y = DisplayUtils.dip2px(114F); + mWmParams = new WindowManager.LayoutParams(); + mWmParams.type = WindowManager.LayoutParams.TYPE_APPLICATION; + mWmParams.format = PixelFormat.RGBA_8888; + mWmParams.gravity = Gravity.LEFT | Gravity.BOTTOM; + mWmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + mWmParams.width = DisplayUtils.dip2px(76F); + mWmParams.height = DisplayUtils.dip2px(36F); + mWmParams.y = SPUtils.getInt(Constants.SP_TASK_FLOAT_LAST_Y, DisplayUtils.dip2px(114F)); mTaskBackView = View.inflate(this, R.layout.layout_task_back, null); mTaskBackView.setOnClickListener(v -> { + // 如果当前是在键盘输入时,点击"返回任务"要先收起键盘 + Util_System_Keyboard.hideSoftKeyboard(this); startActivity(EnergyCenterActivity.Companion.getIntent(this)); SPUtils.setBoolean(Constants.SP_SHOW_TASK_FLOAT, false); mWM.removeView(mTaskBackView); mHasAddTaskFloat = false; }); - mWM.addView(mTaskBackView, wmParams); + setFloatTouchListener(); + mWM.addView(mTaskBackView, mWmParams); + } + + private void setFloatTouchListener() { + int screenHeight = getResources().getDisplayMetrics().heightPixels; + + mTaskBackView.setOnTouchListener(new View.OnTouchListener() { + + private int intervalY; + private int startY; + + @Override + public boolean onTouch(View v, MotionEvent event) { + final int y = (int) event.getRawY(); + + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + intervalY = y; + startY = y; + break; + + case MotionEvent.ACTION_MOVE: + mWmParams.y -= (y - intervalY); + if (mWmParams.y < 0) { + mWmParams.y = 0; + } + + if (mWmParams.y > screenHeight) { + mWmParams.y = screenHeight; + } + + if (mWM != null && mTaskBackView != null && mHasAddTaskFloat) { + mWM.updateViewLayout(mTaskBackView, mWmParams); + } + + intervalY = y; + return true; + + case MotionEvent.ACTION_UP: + // 滑动距离少于10视为点击,返回false,否则视为拖动,返回true + if (Math.abs(y - startY) <= 10) { + return false; + } else { + // 记录位置 + SPUtils.setInt(Constants.SP_TASK_FLOAT_LAST_Y, mWmParams.y); + return true; + } + } + return false; + } + }); } diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index 72a5ae96d0..4183b9d7cf 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -180,8 +180,10 @@ public class Constants { // 头像挂件ID public static final String SP_CHOOSE_AVATAR_ID = "choose_avatar_id"; - //是否显示返回任务悬浮图标 + // 是否显示返回任务悬浮图标 public static final String SP_SHOW_TASK_FLOAT = "show_task_float"; + // 悬浮图标Y值 + public static final String SP_TASK_FLOAT_LAST_Y = "task_float_last_y"; //手机号码匹配规则 public static final String REGEX_MOBILE = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"; diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeViewModel.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeViewModel.kt index a6d54074b6..1ca5825b43 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeViewModel.kt @@ -12,7 +12,6 @@ import com.gh.common.util.createRequestBody import com.gh.gamecenter.R import com.gh.gamecenter.entity.* import com.gh.gamecenter.eventbus.EBUserFollow -import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.retrofit.BiResponse import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager diff --git a/app/src/main/res/layout/fragment_energy_center.xml b/app/src/main/res/layout/fragment_energy_center.xml index 3cd942428e..32c4defde9 100644 --- a/app/src/main/res/layout/fragment_energy_center.xml +++ b/app/src/main/res/layout/fragment_energy_center.xml @@ -145,12 +145,15 @@ 签到规则 1、每日可领取2个光能、1个成长值,最多领取连续7天签到奖励,中断或签满7天则重新计算 2、连续签满7天可额外奖励1次免费抽奖机会 - 又有光能可以收了 - 收能量兑大奖 + 【光环助手】又有光能可以收了!收能量兑大奖! + 每日10点连续签到领能量,赶紧行动吧! 开启成功 系统日历将准时提醒您签到