diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1b56d9da64..d68374c0fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,10 +16,6 @@
-
-
-
-
@@ -62,6 +58,14 @@
android:name="android.permission.READ_CONTACTS"
tools:node="remove" />
+
+
+
+
""
}
- val intent = WebActivity.getIntent(requireContext(), selectedUrl, true)
- requireContext().startActivity(intent)
+ DirectUtils.directToExternalBrowser(requireContext(), selectedUrl)
}
}, hypertextPositionPair.first, hypertextPositionPair.second, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
diff --git a/app/src/main/java/com/gh/common/util/DataUtils.java b/app/src/main/java/com/gh/common/util/DataUtils.java
index 8de3b38ed9..42c134256c 100644
--- a/app/src/main/java/com/gh/common/util/DataUtils.java
+++ b/app/src/main/java/com/gh/common/util/DataUtils.java
@@ -69,10 +69,11 @@ public class DataUtils {
} else {
options.setAnrEnabled(false);
}
-
+
options.setDebug(BuildConfig.DEBUG);
options.setEnableSessionTracking(true);
options.setEnvironment(BuildConfig.FLAVOR);
+ options.setEnableSystemEventBreadcrumbs(false);
options.setDsn("https://6b1caf0d17c1408e8680f3f73ff80bd0@sentry.shanqu.cc/22");
options.setBeforeSend((event, hint) -> {
diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt
index f0078ce1a7..c1be08e15d 100644
--- a/app/src/main/java/com/gh/common/util/DirectUtils.kt
+++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt
@@ -34,7 +34,7 @@ import com.gh.gamecenter.common.entity.Display
import com.gh.gamecenter.common.entity.LinkEntity
import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.common.utils.*
-import com.gh.gamecenter.core.utils.RunningUtils
+import com.gh.gamecenter.core.AppExecutor
import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.download.DownloadFragment.Companion.INDEX_UPDATE
import com.gh.gamecenter.entity.*
@@ -1331,9 +1331,7 @@ object DirectUtils {
*/
@JvmStatic
fun directToHomeTab(context: Context) {
- if (RunningUtils.isRunning(context)
- && MainActivity::class.java.name == RunningUtils.getBaseActivity(context)
- ) {
+ if (HaloApp.getInstance().isRunningForeground) {
val intent = Intent(context, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
context.startActivity(intent)
@@ -1354,9 +1352,7 @@ object DirectUtils {
*/
@JvmStatic
fun directToForum(context: Context, position: Int = 0) {
- if (RunningUtils.isRunning(context)
- && MainActivity::class.java.name == RunningUtils.getBaseActivity(context)
- ) {
+ if (HaloApp.getInstance().isRunningForeground) {
val intent = Intent(context, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
context.startActivity(intent)
@@ -1379,9 +1375,7 @@ object DirectUtils {
*/
@JvmStatic
fun directToVideoTab(context: Context) {
- if (RunningUtils.isRunning(context)
- && MainActivity::class.java.name == RunningUtils.getBaseActivity(context)
- ) {
+ if (HaloApp.getInstance().isRunningForeground) {
val intent = Intent(context, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
context.startActivity(intent)
@@ -1400,9 +1394,7 @@ object DirectUtils {
*/
@JvmStatic
fun directToPersonalTab(context: Context) {
- if (RunningUtils.isRunning(context)
- && MainActivity::class.java.name == RunningUtils.getBaseActivity(context)
- ) {
+ if (HaloApp.getInstance().isRunningForeground) {
val intent = Intent(context, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
context.startActivity(intent)
diff --git a/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt b/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt
index 1dc3edfc91..eb5b9833bc 100644
--- a/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt
+++ b/app/src/main/java/com/gh/common/util/DownloadNotificationHelper.kt
@@ -19,7 +19,6 @@ import com.gh.gamecenter.core.utils.SpeedUtils
import com.halo.assistant.HaloApp
import com.lightgame.download.DownloadEntity
import com.lightgame.download.DownloadStatus
-import com.walkud.rom.checker.RomIdentifier
object DownloadNotificationHelper {
@@ -34,7 +33,6 @@ object DownloadNotificationHelper {
const val ACTION_VDOWNLOAD = "com.gh.gamecenter.VDOWNLOAD"
private val mNotifyMap: MutableMap = mutableMapOf()
- private val mShouldUseAlternativeNotificationIcon by lazy { RomIdentifier.getRom().versionName == null }
private fun getNotificationManager(): NotificationManager {
return HaloApp.getInstance().application.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
@@ -194,6 +192,6 @@ object DownloadNotificationHelper {
}
private fun getNotificationIcon(): Int {
- return if (mShouldUseAlternativeNotificationIcon) R.drawable.ic_download_notification else R.mipmap.logo
+ return R.mipmap.logo
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java
index 451a4e0d47..bb3a0033db 100644
--- a/app/src/main/java/com/gh/common/util/EntranceUtils.java
+++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java
@@ -25,7 +25,6 @@ import com.gh.gamecenter.common.base.fragment.ToolbarFragment;
import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.core.utils.ClassUtils;
import com.gh.gamecenter.core.utils.GsonUtils;
-import com.gh.gamecenter.core.utils.RunningUtils;
import com.gh.gamecenter.core.utils.SPUtils;
import com.halo.assistant.HaloApp;
import com.lightgame.utils.Utils;
@@ -41,9 +40,7 @@ public class EntranceUtils {
public static void jumpActivity(Context context, Bundle bundle) {
bundle.putBoolean(KEY_REQUIRE_REDIRECT, true);
- //TODO 把其他类似的跳转启动逻辑也处理掉
- if (RunningUtils.isRunning(context)
- && MainActivity.class.getName().equals(RunningUtils.getBaseActivity(context))) {
+ if (HaloApp.getInstance().isRunningForeground) {
// 应用正在运行,前台或后台
String to = bundle.getString(KEY_TO);
Class> clazz = ClassUtils.forName(to);
@@ -69,9 +66,7 @@ public class EntranceUtils {
public static void jumpActivity(Context context, Bundle nextToBundle, Bundle bundle, Callback callback) {
bundle.putBoolean(KEY_REQUIRE_REDIRECT, true);
- //TODO 把其他类似的跳转启动逻辑也处理掉
- if (RunningUtils.isRunning(context)
- && MainActivity.class.getName().equals(RunningUtils.getBaseActivity(context))) {
+ if (HaloApp.getInstance().isRunningForeground) {
// 应用正在运行,前台或后台
String to = bundle.getString(KEY_TO);
Class> clazz = ClassUtils.forName(to);
diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java
index 0c3f55b527..e8745f4b14 100644
--- a/app/src/main/java/com/gh/common/util/PackageUtils.java
+++ b/app/src/main/java/com/gh/common/util/PackageUtils.java
@@ -27,6 +27,7 @@ import com.gh.common.xapk.XapkInstaller;
import com.gh.gamecenter.BuildConfig;
import com.gh.gamecenter.common.constant.Constants;
import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.common.utils.PackageFlavorHelper;
import com.gh.gamecenter.core.utils.SentryHelper;
import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameEntity;
@@ -815,21 +816,25 @@ public class PackageUtils {
* @return 进程名
*/
public static String obtainProcessName(Context context) {
- try {
- final int pid = android.os.Process.myPid();
- ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- List listTaskInfo = am.getRunningAppProcesses();
- if (listTaskInfo != null && !listTaskInfo.isEmpty()) {
- for (ActivityManager.RunningAppProcessInfo info : listTaskInfo) {
- if (info != null && info.pid == pid) {
- return info.processName;
+ if (PackageFlavorHelper.IS_TEST_FLAVOR) {
+ try {
+ final int pid = android.os.Process.myPid();
+ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ List listTaskInfo = am.getRunningAppProcesses();
+ if (listTaskInfo != null && !listTaskInfo.isEmpty()) {
+ for (ActivityManager.RunningAppProcessInfo info : listTaskInfo) {
+ if (info != null && info.pid == pid) {
+ return info.processName;
+ }
}
}
+ } catch (Exception e) {
+ // 遇到异常了让这次调用正常执行
+ e.printStackTrace();
+ return BuildConfig.APPLICATION_ID;
}
- } catch (Exception e) {
- // 遇到异常了让这次调用正常执行
- e.printStackTrace();
- return BuildConfig.APPLICATION_ID;
+ } else {
+ return null;
}
return null;
}
diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java
index 83876c2473..d144ce79ab 100644
--- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java
@@ -52,8 +52,8 @@ import com.gh.common.util.DirectUtils;
import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.PlatformUtils;
+import com.gh.gamecenter.core.utils.CurrentActivityHolder;
import com.gh.gamecenter.core.utils.GsonUtils;
-import com.gh.gamecenter.core.utils.RunningUtils;
import com.gh.gamecenter.common.entity.CommunityEntity;
import com.gh.gamecenter.common.entity.LinkEntity;
import com.gh.gamecenter.entity.SimpleGameEntity;
@@ -61,6 +61,7 @@ import com.gh.gamecenter.entity.SubjectRecommendEntity;
import com.gh.gamecenter.entity.VideoLinkEntity;
import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel;
import com.gh.gamecenter.video.videomanager.VideoManagerActivity;
+import com.halo.assistant.HaloApp;
import com.lightgame.config.CommonDebug;
import com.lightgame.utils.Utils;
@@ -155,8 +156,7 @@ public class SkipActivity extends BaseActivity {
break;
case HOST_COMMUNITY:
// 把切换放到 MainActivity 处理
- if (RunningUtils.isRunning(this)
- && MainActivity.class.getName().equals(RunningUtils.getBaseActivity(this))) {
+ if (HaloApp.getInstance().isRunningForeground) {
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(MainActivity.SWITCH_TO_COMMUNITY, true);
@@ -239,8 +239,7 @@ public class SkipActivity extends BaseActivity {
break;
case HOST_VIDEO_STREAMING_HOME:
// 把切换放到 MainActivity 处理
- if (RunningUtils.isRunning(this)
- && MainActivity.class.getName().equals(RunningUtils.getBaseActivity(this))) {
+ if (HaloApp.getInstance().isRunningForeground) {
intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(MainActivity.SWITCH_TO_VIDEO, true);
diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.kt b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.kt
index 96cb463d97..28da3fb1f8 100644
--- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.kt
@@ -25,7 +25,6 @@ import com.gh.common.util.GameSubstituteRepositoryHelper.updateGameSubstituteRep
import com.gh.common.util.UsageStatsHelper.checkAndPostUsageStats
import com.gh.download.DownloadManager
import com.gh.gamecenter.common.base.activity.BaseActivity
-import com.gh.gamecenter.common.callback.SimpleCallback
import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.tracker.TrackerLogger
@@ -66,7 +65,6 @@ class SplashScreenActivity : BaseActivity() {
private val mPermissions = arrayOf(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.READ_PHONE_STATE,
PermissionHelper.PERMISSION_GET_INSTALLED_LIST
)
@@ -156,24 +154,36 @@ class SplashScreenActivity : BaseActivity() {
private fun showPrivacyDialog(guideLayout: ViewPager) {
NewPrivacyPolicyDialogFragment.show(this, null) { isSuccess: Boolean ->
if (isSuccess) {
- val callback = object : SimpleCallback {
- override fun onCallback(arg: Boolean) {
- // Dialog dismiss 后的回调
- guideLayout.visibility = View.VISIBLE
- SPUtils.setBoolean(Constants.SP_BRAND_NEW_USER, false)
- if (arg) {
- requestPermission()
- } else {
- mStartMainActivityDirectly = false
- }
- }
+ guideLayout.visibility = View.VISIBLE
+ SPUtils.setBoolean(Constants.SP_BRAND_NEW_USER, false)
+
+ // 恢复畅玩数据
+ VHelper.recoverVDataIfPossible()
+
+ // 检查是否有旧版本光环,有就删掉
+ AppExecutor.ioExecutor.execute { deleteOutdatedUpdatePackage() }
+ if (mStartMainActivityDirectly) {
+ launchMainActivity()
}
- mViewModel?.showPrivacyPolicy({
- DialogUtils.showPrivacyPolicyDialog(this@SplashScreenActivity, it, callback)
- }, {
- DialogUtils.showPrivacyPolicyDialog(this@SplashScreenActivity, PrivacyPolicyEntity.createDefaultData(), callback)
- })
+// val callback = object : SimpleCallback {
+// override fun onCallback(arg: Boolean) {
+// // Dialog dismiss 后的回调
+// guideLayout.visibility = View.VISIBLE
+// SPUtils.setBoolean(Constants.SP_BRAND_NEW_USER, false)
+// if (arg) {
+// requestPermission()
+// } else {
+// mStartMainActivityDirectly = false
+// }
+// }
+// }
+//
+// mViewModel?.showPrivacyPolicy({
+// DialogUtils.showPrivacyPolicyDialog(this@SplashScreenActivity, it, callback)
+// }, {
+// DialogUtils.showPrivacyPolicyDialog(this@SplashScreenActivity, PrivacyPolicyEntity.createDefaultData(), callback)
+// })
} else {
DialogUtils.showPrivacyPolicyDisallowDialog(this, PrivacyPolicyEntity.createDefaultData(), object : EmptyCallback {
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
index 558400a530..e9c3a84b6a 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
@@ -22,7 +22,6 @@ import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.common.utils.viewModelProviderFromParent
import com.gh.gamecenter.core.iinterface.IScrollable
import com.gh.gamecenter.core.utils.MtaHelper
-import com.gh.gamecenter.core.utils.RunningUtils
import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.databinding.FragmentDescBinding
import com.gh.gamecenter.entity.GameEntity
@@ -117,7 +116,7 @@ class DescFragment : BaseFragment(), IScrollable {
}
if (openVideoStreaming) {
gameDetail.data!!.detailEntity.forEach { entity ->
- if (entity.video != null && !RunningUtils.isEqualsTop(context, VideoDetailActivity::class.java.name)) {
+ if (entity.video != null && activity !is VideoDetailActivity) {
DirectUtils.directToVideoDetail(
requireContext(), entity.video!![0].videoId, entity.video!![0].videoId, path = "游戏详情-介绍视频"
)
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
index 07dd8b92c4..1f4e818e76 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
@@ -8,8 +8,8 @@ import android.text.TextUtils;
import com.gh.gamecenter.core.utils.ClassUtils;
import com.gh.gamecenter.common.utils.ExtensionsKt;
-import com.gh.gamecenter.core.utils.RunningUtils;
import com.gh.gamecenter.SplashScreenActivity;
+import com.halo.assistant.HaloApp;
/**
* Created by khy on 2016/9/1.
@@ -24,7 +24,7 @@ public class ActivitySkipReceiver extends BroadcastReceiver {
ExtensionsKt.doOnMainProcessOnly(context, () -> {
if (ACTION_ACTIVITY_SKIP.equals(intent.getAction())) {
Bundle bundle = intent.getExtras();
- if (RunningUtils.isRunning(context) && bundle != null) {
+ if (HaloApp.getInstance().isRunningForeground && bundle != null) {
// 应用正在运行,前台或后台
String to = bundle.getString("to");
if (!TextUtils.isEmpty(to)) {
diff --git a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
index 8e8824fcfd..36ff960019 100644
--- a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
+++ b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
@@ -18,8 +18,9 @@ import com.gh.gamecenter.common.constant.Constants;
import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.common.eventbus.EBMiPush;
import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.utils.CurrentActivityHolder;
import com.gh.gamecenter.core.utils.GsonUtils;
-import com.gh.gamecenter.core.utils.RunningUtils;
+import com.halo.assistant.HaloApp;
import com.lightgame.download.DownloadEntity;
import org.greenrobot.eventbus.EventBus;
@@ -51,8 +52,8 @@ public class InstallReceiver extends BroadcastReceiver {
PackageInstaller.install(context, false, path);
}
} else {
- if (RunningUtils.isRunning(context)) {
- if (RunningUtils.isEqualsTop(context, DownloadManagerActivity.class.getName())) {
+ if (HaloApp.getInstance().isRunningForeground) {
+ if (CurrentActivityHolder.getCurrentActivity() instanceof DownloadManagerActivity) {
// 这里是指从后台返回到前台 前两个的是关键
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_MAIN);
diff --git a/module_common/src/main/AndroidManifest.xml b/module_common/src/main/AndroidManifest.xml
index f17b266c8e..3a57e781f3 100644
--- a/module_common/src/main/AndroidManifest.xml
+++ b/module_common/src/main/AndroidManifest.xml
@@ -3,8 +3,4 @@
package="com.gh.gamecenter.common">
-
-
-
-
\ No newline at end of file
diff --git a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
index e530874ea9..0da893b3b8 100644
--- a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
+++ b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
@@ -62,7 +62,6 @@ import com.gh.gamecenter.core.provider.IPackageInstallerProvider;
import com.gh.gamecenter.core.provider.IQuickLoginProvider;
import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.core.utils.MtaHelper;
-import com.gh.gamecenter.core.utils.RunningUtils;
import com.gh.gamecenter.core.utils.SPUtils;
import com.gh.gamecenter.core.utils.StringUtils;
import com.lightgame.BaseAppCompatActivity;
@@ -355,8 +354,10 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(final EBShowDialog showDialog) {
+ // 当当前实体被标记为使用过以后,不再响应它的内容
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)
- && this.getClass().getName().equals(RunningUtils.getTopActivity(this))) {
+ && !showDialog.isUsed()) {
+ showDialog.setUsed(true);
IPackageInstallerProvider packageInstallerConfig = (IPackageInstallerProvider) ARouter.getInstance().build(RouteConsts.provider.packageInstaller).navigation();
if (DOWNLOAD_HIJACK.equals(showDialog.getType())) {
DialogUtils.showQqSessionDialog(this);// 建议用户联系客服
diff --git a/module_common/src/main/java/com/gh/gamecenter/common/eventbus/EBShowDialog.java b/module_common/src/main/java/com/gh/gamecenter/common/eventbus/EBShowDialog.java
index 411a11033c..3f361443a4 100644
--- a/module_common/src/main/java/com/gh/gamecenter/common/eventbus/EBShowDialog.java
+++ b/module_common/src/main/java/com/gh/gamecenter/common/eventbus/EBShowDialog.java
@@ -5,6 +5,8 @@ public class EBShowDialog {
private String type;
private String path;
+ private boolean isUsed;
+
public EBShowDialog(String type) {
this.type = type;
}
@@ -30,4 +32,11 @@ public class EBShowDialog {
this.path = path;
}
+ public boolean isUsed() {
+ return isUsed;
+ }
+
+ public void setUsed(boolean used) {
+ isUsed = used;
+ }
}
diff --git a/module_common/src/main/java/com/gh/gamecenter/common/exposure/meta/MetaUtil.kt b/module_common/src/main/java/com/gh/gamecenter/common/exposure/meta/MetaUtil.kt
index c551e3e2e0..bd42349d5a 100644
--- a/module_common/src/main/java/com/gh/gamecenter/common/exposure/meta/MetaUtil.kt
+++ b/module_common/src/main/java/com/gh/gamecenter/common/exposure/meta/MetaUtil.kt
@@ -37,9 +37,12 @@ object MetaUtil {
fun refreshMeta() {
if (romName == null) {
- tryWithDefaultCatch {
- romName = RomIdentifier.getRom().name
- romVersion = RomIdentifier.getRom().versionName
+ val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
+ if (appProvider?.isUserAcceptPrivacyPolicy(HaloApp.getInstance()) == true) {
+ tryWithDefaultCatch {
+ romName = RomIdentifier.getRom().name
+ romVersion = RomIdentifier.getRom().versionName
+ }
}
}
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
@@ -82,62 +85,64 @@ object MetaUtil {
*/
@JvmStatic
fun getIMEI(): String {
- val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
- if (appProvider?.isUserAcceptPrivacyPolicy(HaloApp.getInstance()) == false) {
- return ""
- }
-
- if (imei != null) {
- return imei ?: ""
- }
-
- imei = SPUtils.getString(Constants.SP_IMEI)
-
- if (!TextUtils.isEmpty(imei)) {
- return imei ?: ""
- }
-
- if (application.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
- return ""
- }
-
- val telephonyManager = application.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
-
- if (Build.VERSION.SDK_INT >= 29) {
- return "".apply {
- imei = this
- SPUtils.setString(Constants.SP_IMEI, this)
- }
- } else if (Build.VERSION.SDK_INT >= 26) {
- return (telephonyManager.imei ?: "").apply {
- imei = this
- SPUtils.setString(Constants.SP_IMEI, this)
- }
- }
-
- return (telephonyManager.getDeviceId() ?: "").apply {
- imei = this
- SPUtils.setString(Constants.SP_IMEI, this)
- }
+ return ""
+// val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
+// if (appProvider?.isUserAcceptPrivacyPolicy(HaloApp.getInstance()) == false) {
+// return ""
+// }
+//
+// if (imei != null) {
+// return imei ?: ""
+// }
+//
+// imei = SPUtils.getString(Constants.SP_IMEI)
+//
+// if (!TextUtils.isEmpty(imei)) {
+// return imei ?: ""
+// }
+//
+// if (application.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
+// return ""
+// }
+//
+// val telephonyManager = application.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
+//
+// if (Build.VERSION.SDK_INT >= 29) {
+// return "".apply {
+// imei = this
+// SPUtils.setString(Constants.SP_IMEI, this)
+// }
+// } else if (Build.VERSION.SDK_INT >= 26) {
+// return (telephonyManager.imei ?: "").apply {
+// imei = this
+// SPUtils.setString(Constants.SP_IMEI, this)
+// }
+// }
+//
+// return (telephonyManager.getDeviceId() ?: "").apply {
+// imei = this
+// SPUtils.setString(Constants.SP_IMEI, this)
+// }
}
@JvmStatic
fun getBase64EncodedIMEI(): String {
- if (imei == null) {
- getIMEI()
- }
-
- if (TextUtils.isEmpty(base64EncodedImei) && imei != null) {
- try {
- base64EncodedImei = android.util.Base64.encodeToString(getIMEI().trim().toByteArray(), android.util.Base64.NO_WRAP)
- } catch (e: java.lang.Exception) {
- e.printStackTrace()
- return ""
- }
- }
-
- return base64EncodedImei ?: ""
+ return ""
+// if (imei == null) {
+// getIMEI()
+// }
+//
+// if (TextUtils.isEmpty(base64EncodedImei) && imei != null) {
+// try {
+// base64EncodedImei = android.util.Base64.encodeToString(getIMEI().trim().toByteArray(), android.util.Base64.NO_WRAP)
+// } catch (e: java.lang.Exception) {
+// e.printStackTrace()
+// return ""
+// }
+// }
+//
+// return base64EncodedImei ?: ""
}
@JvmStatic
diff --git a/module_common/src/main/java/com/gh/gamecenter/common/utils/PermissionHelper.kt b/module_common/src/main/java/com/gh/gamecenter/common/utils/PermissionHelper.kt
index abd43a0728..695cd6f2b3 100644
--- a/module_common/src/main/java/com/gh/gamecenter/common/utils/PermissionHelper.kt
+++ b/module_common/src/main/java/com/gh/gamecenter/common/utils/PermissionHelper.kt
@@ -19,7 +19,6 @@ import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IActivationProvider
import com.gh.gamecenter.core.provider.IDirectProvider
import com.gh.gamecenter.core.utils.EmptyCallback
-import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.core.utils.SPUtils
import com.tbruyelle.rxpermissions2.RxPermissions
@@ -29,50 +28,6 @@ object PermissionHelper {
const val PERMISSION_GET_INSTALLED_LIST = "com.android.permission.GET_INSTALLED_APPS"
- @SuppressLint("CheckResult")
- @JvmStatic
- fun requestReadPhoneStateAndStoragePermissionFromStartUp(context: Context) {
- if (context is FragmentActivity) {
- val rxPermission = RxPermissions(context)
-
- var requestCount = 0
- val permissionsStatusMap = hashMapOf()
- permissionsStatusMap[Manifest.permission.READ_PHONE_STATE] = false
- permissionsStatusMap[Manifest.permission.READ_EXTERNAL_STORAGE] = false
- permissionsStatusMap[Manifest.permission.WRITE_EXTERNAL_STORAGE] = false
-
- tryWithDefaultCatch {
- rxPermission
- .requestEach(
- Manifest.permission.READ_PHONE_STATE,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE
- )
- .subscribe { permission ->
- requestCount++
- permissionsStatusMap[permission.name] = permission.granted
-
- if (requestCount == 2) {
- val hasReadPhoneStatePermission = permissionsStatusMap[Manifest.permission.READ_PHONE_STATE] == true
- val hasReadStoragePermission = permissionsStatusMap[Manifest.permission.READ_EXTERNAL_STORAGE] == true
-
- if (hasReadPhoneStatePermission && hasReadStoragePermission) {
- MtaHelper.onEvent("授权情况", "启动授权", "都授权")
- } else if (!hasReadPhoneStatePermission && !hasReadStoragePermission) {
- MtaHelper.onEvent("授权情况", "启动授权", "都不授权")
- } else if (hasReadPhoneStatePermission) {
- MtaHelper.onEvent("授权情况", "启动授权", "只授权IMEI")
- } else if (hasReadStoragePermission) {
- MtaHelper.onEvent("授权情况", "启动授权", "只授权存储")
- }
- }
- }
- }
-
- }
- }
-
-
/**
* 在执行 emptyCallback 的 action 前先判断是否有获取已安装列表的权限
*/
@@ -164,8 +119,7 @@ object PermissionHelper {
@JvmStatic
fun checkReadPhoneStateAndStoragePermissionBeforeAction(context: Context, emptyCallback: EmptyCallback) {
if (context is FragmentActivity) {
- if (context.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED
- && context.checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
+ if (context.checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
&& context.checkCallingOrSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
) {
emptyCallback.onCallback()
@@ -175,7 +129,6 @@ object PermissionHelper {
tryWithDefaultCatch {
rxPermission
.requestEachCombined(
- Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE
)
@@ -205,36 +158,37 @@ object PermissionHelper {
@SuppressLint("CheckResult")
@JvmStatic
fun checkReadPhoneStatePermissionBeforeAction(context: Context, emptyCallback: EmptyCallback) {
- if (context is FragmentActivity) {
-
- if (context.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
- emptyCallback.onCallback()
- } else {
- val rxPermission = RxPermissions(context)
-
- tryWithDefaultCatch {
- rxPermission
- .requestEachCombined(Manifest.permission.READ_PHONE_STATE)
- .subscribe { permission ->
- when {
- permission.granted -> {
- emptyCallback.onCallback()
- val provider = ARouter.getInstance().build(RouteConsts.provider.activation).navigation() as? IActivationProvider
- provider?.sendActivationInfo()
- }
- permission.shouldShowRequestPermissionRationale -> {
- // do nothing
- }
- else -> {
- val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
- intent.data = Uri.parse("package:" + context.getPackageName())
- context.startActivity(intent)
- }
- }
- }
- }
- }
- }
+ emptyCallback.onCallback()
+// if (context is FragmentActivity) {
+//
+// if (context.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
+// emptyCallback.onCallback()
+// } else {
+// val rxPermission = RxPermissions(context)
+//
+// tryWithDefaultCatch {
+// rxPermission
+// .requestEachCombined(Manifest.permission.READ_PHONE_STATE)
+// .subscribe { permission ->
+// when {
+// permission.granted -> {
+// emptyCallback.onCallback()
+// val provider = ARouter.getInstance().build(RouteConsts.provider.activation).navigation() as? IActivationProvider
+// provider?.sendActivationInfo()
+// }
+// permission.shouldShowRequestPermissionRationale -> {
+// // do nothing
+// }
+// else -> {
+// val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+// intent.data = Uri.parse("package:" + context.getPackageName())
+// context.startActivity(intent)
+// }
+// }
+// }
+// }
+// }
+// }
}
/**
diff --git a/module_core/src/main/java/com/gh/gamecenter/core/utils/RunningUtils.java b/module_core/src/main/java/com/gh/gamecenter/core/utils/RunningUtils.java
deleted file mode 100644
index ee66bc9cf9..0000000000
--- a/module_core/src/main/java/com/gh/gamecenter/core/utils/RunningUtils.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.gh.gamecenter.core.utils;
-
-import android.Manifest;
-import android.app.ActivityManager;
-import android.app.ActivityManager.RunningAppProcessInfo;
-import android.app.ActivityManager.RunningTaskInfo;
-import android.content.ComponentName;
-import android.content.Context;
-import androidx.annotation.RequiresPermission;
-
-import java.util.List;
-
-public class RunningUtils {
-
- /**
- * 判断当前应用程序处于前台还是后台
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static boolean isApplicationBroughtToBackground(Context context) {
- ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- List tasks = am.getRunningTasks(1);
- if (!tasks.isEmpty()) {
- ComponentName topActivity = tasks.get(0).topActivity;
- if (!topActivity.getPackageName().equals(context.getPackageName())) {
- return true;
- }
- }
- return false;
-
- }
-
- /**
- * 判断当前应用程序处于前台还是后台
- */
- public static boolean isBackground(Context context) {
- ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- List appProcesses = activityManager.getRunningAppProcesses();
- for (RunningAppProcessInfo appProcess : appProcesses) {
- if (appProcess.processName.equals(context.getPackageName())) {
- if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
- return true;
- } else {
- return false;
- }
- }
- }
- return false;
- }
-
- /**
- * 判断当前topactivity是否与传入的相同
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static boolean isEqualsTop(Context context, String activityName) {
- ActivityManager activityManager = (ActivityManager) context
- .getSystemService(Context.ACTIVITY_SERVICE);
- List infos = activityManager.getRunningTasks(100);
- for (RunningTaskInfo info : infos) {
- if (info.topActivity.getClassName().equals(activityName)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 判断当前baseActivity是否与传入的相同
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static boolean isEqualsBase(Context context, String activityName) {
- ActivityManager activityManager = (ActivityManager) context
- .getSystemService(Context.ACTIVITY_SERVICE);
- List infos = activityManager.getRunningTasks(100);
- for (RunningTaskInfo info : infos) {
- if (info.baseActivity.getClassName().equals(activityName)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 判断应用是否正在运行
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static boolean isRunning(Context context) {
- ActivityManager activityManager = (ActivityManager) context
- .getSystemService(Context.ACTIVITY_SERVICE);
- List infos = activityManager.getRunningTasks(100);
- for (RunningTaskInfo info : infos) {
- if (info.topActivity.getPackageName().equals(context.getPackageName())
- && info.baseActivity.getPackageName().equals(context.getPackageName())) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 获取当前baseActivity
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static String getBaseActivity(Context context) {
- ActivityManager activityManager = (ActivityManager) context
- .getSystemService(Context.ACTIVITY_SERVICE);
- List infos = activityManager.getRunningTasks(100);
- for (RunningTaskInfo info : infos) {
- if (info.baseActivity.getPackageName().equals(context.getPackageName())) {
- return info.baseActivity.getClassName();
- }
- }
- return null;
- }
-
- /**
- * 获取当前topActivity
- */
- @RequiresPermission(Manifest.permission.GET_TASKS)
- public static String getTopActivity(Context context) {
- ActivityManager activityManager = (ActivityManager) context
- .getSystemService(Context.ACTIVITY_SERVICE);
- List infos = activityManager.getRunningTasks(100);
- for (RunningTaskInfo info : infos) {
- if (info.topActivity.getPackageName().equals(
- context.getPackageName())) {
- return info.topActivity.getClassName();
- }
- }
- return null;
- }
-
-}
diff --git a/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt b/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
index cd634456f4..3cc81d2847 100644
--- a/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
+++ b/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
@@ -116,28 +116,30 @@ object QuickLoginHelper {
initTokenListener(context)
}
- if (context.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
- loginAuth(context)
- } else {
- showQuickLoginPermissionDialog(
- context,
- {
- checkReadPhoneStatePermissionBeforeAction(context, object : EmptyCallback {
- override fun onCallback() {
- loginAuth(context)
- }
- })
- },
- {
- startCodeLoginPage(
- context,
- entrance = ENTRANCE_PERMISSION_DIALOG,
- isFinishAuth = false,
- isFromPermission = true
- )
- }
- )
- }
+ loginAuth(context)
+
+// if (context.checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
+// loginAuth(context)
+// } else {
+// showQuickLoginPermissionDialog(
+// context,
+// {
+// checkReadPhoneStatePermissionBeforeAction(context, object : EmptyCallback {
+// override fun onCallback() {
+// loginAuth(context)
+// }
+// })
+// },
+// {
+// startCodeLoginPage(
+// context,
+// entrance = ENTRANCE_PERMISSION_DIALOG,
+// isFinishAuth = false,
+// isFromPermission = true
+// )
+// }
+// )
+// }
}
@JvmStatic
diff --git a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
index 65701ae2a3..d4722ce2d5 100644
--- a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
+++ b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
@@ -289,18 +289,18 @@ public class LoginFragment
}
private void showPermissionDialog() {
- if (requireContext().checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
+// if (requireContext().checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
startQuickLogin();
- } else {
- QuickLoginHelper.showQuickLoginPermissionDialog(
- requireContext(),
- () -> {
- PermissionHelper.checkReadPhoneStatePermissionBeforeAction(requireContext(), this::startQuickLogin);
- return null;
- },
- () -> null
- );
- }
+// } else {
+// QuickLoginHelper.showQuickLoginPermissionDialog(
+// requireContext(),
+// () -> {
+// PermissionHelper.checkReadPhoneStatePermissionBeforeAction(requireContext(), this::startQuickLogin);
+// return null;
+// },
+// () -> null
+// );
+// }
}
private void startQuickLogin() {