diff --git a/app/src/main/java/com/casic/dcms/view/PermissionActivity.java b/app/src/main/java/com/casic/dcms/view/PermissionActivity.java index cccec39..557ed07 100644 --- a/app/src/main/java/com/casic/dcms/view/PermissionActivity.java +++ b/app/src/main/java/com/casic/dcms/view/PermissionActivity.java @@ -2,20 +2,23 @@ import android.Manifest; import android.os.Build; +import android.os.Bundle; +import android.util.Log; import android.view.View; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.amap.api.services.core.ServiceSettings; import com.casic.dcms.R; import com.casic.dcms.databinding.ActivityPermssionBinding; import com.casic.dcms.utils.LocaleConstant; -import com.gyf.immersionbar.ImmersionBar; +import com.casic.dcms.utils.ViewGroupHub; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.hub.ContextHub; -import com.pengxh.androidx.lite.hub.IntHub; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; +import com.pengxh.androidx.lite.hub.ObjectHub; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -23,22 +26,20 @@ import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks; public class PermissionActivity extends AndroidxBaseActivity implements PermissionCallbacks { - - public List USER_PERMISSIONS = Arrays.asList( + private static final String TAG = "PermissionActivity"; + public List COMMON_PERMISSIONS = Arrays.asList( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_PHONE_STATE, Manifest.permission.RECORD_AUDIO, Manifest.permission.CALL_PHONE, - Manifest.permission.CAMERA, - Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.WRITE_EXTERNAL_STORAGE); + Manifest.permission.CAMERA + ); @Override protected void setupTopBarLayout() { - ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white)); - ImmersionBar.with(this).statusBarDarkFont(true).init(); + ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); } @Override @@ -47,12 +48,17 @@ } @Override - protected void initData() { + protected void initOnCreate(@Nullable Bundle savedInstanceState) { + List USER_PERMISSIONS = new ArrayList<>(COMMON_PERMISSIONS); + //针对不同的系统版本进行授权 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { USER_PERMISSIONS.add(Manifest.permission.READ_MEDIA_IMAGES); USER_PERMISSIONS.add(Manifest.permission.READ_MEDIA_VIDEO); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { USER_PERMISSIONS.add(Manifest.permission.MANAGE_EXTERNAL_STORAGE); + } else { + USER_PERMISSIONS.add(Manifest.permission.READ_EXTERNAL_STORAGE); + USER_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } String[] permissions = new String[USER_PERMISSIONS.size()]; @@ -63,7 +69,7 @@ if (EasyPermissions.hasPermissions(this, permissions)) { startSplashScreenActivity(); } else { - viewBinding.enterMainButton.setOnClickListener(new View.OnClickListener() { + binding.enterMainButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EasyPermissions.requestPermissions(PermissionActivity.this, "需要获取相关权限", LocaleConstant.PERMISSIONS_CODE, permissions); @@ -94,10 +100,11 @@ @Override public void onPermissionsGranted(int requestCode, @NonNull List perms) { startSplashScreenActivity(); + Log.d(TAG, "onPermissionsGranted: " + ObjectHub.toJson(perms)); } @Override public void onPermissionsDenied(int requestCode, @NonNull List perms) { - + Log.d(TAG, "onPermissionsDenied: " + ObjectHub.toJson(perms)); } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/PermissionActivity.java b/app/src/main/java/com/casic/dcms/view/PermissionActivity.java index cccec39..557ed07 100644 --- a/app/src/main/java/com/casic/dcms/view/PermissionActivity.java +++ b/app/src/main/java/com/casic/dcms/view/PermissionActivity.java @@ -2,20 +2,23 @@ import android.Manifest; import android.os.Build; +import android.os.Bundle; +import android.util.Log; import android.view.View; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.amap.api.services.core.ServiceSettings; import com.casic.dcms.R; import com.casic.dcms.databinding.ActivityPermssionBinding; import com.casic.dcms.utils.LocaleConstant; -import com.gyf.immersionbar.ImmersionBar; +import com.casic.dcms.utils.ViewGroupHub; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.hub.ContextHub; -import com.pengxh.androidx.lite.hub.IntHub; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; +import com.pengxh.androidx.lite.hub.ObjectHub; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -23,22 +26,20 @@ import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks; public class PermissionActivity extends AndroidxBaseActivity implements PermissionCallbacks { - - public List USER_PERMISSIONS = Arrays.asList( + private static final String TAG = "PermissionActivity"; + public List COMMON_PERMISSIONS = Arrays.asList( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_PHONE_STATE, Manifest.permission.RECORD_AUDIO, Manifest.permission.CALL_PHONE, - Manifest.permission.CAMERA, - Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.WRITE_EXTERNAL_STORAGE); + Manifest.permission.CAMERA + ); @Override protected void setupTopBarLayout() { - ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white)); - ImmersionBar.with(this).statusBarDarkFont(true).init(); + ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); } @Override @@ -47,12 +48,17 @@ } @Override - protected void initData() { + protected void initOnCreate(@Nullable Bundle savedInstanceState) { + List USER_PERMISSIONS = new ArrayList<>(COMMON_PERMISSIONS); + //针对不同的系统版本进行授权 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { USER_PERMISSIONS.add(Manifest.permission.READ_MEDIA_IMAGES); USER_PERMISSIONS.add(Manifest.permission.READ_MEDIA_VIDEO); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { USER_PERMISSIONS.add(Manifest.permission.MANAGE_EXTERNAL_STORAGE); + } else { + USER_PERMISSIONS.add(Manifest.permission.READ_EXTERNAL_STORAGE); + USER_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } String[] permissions = new String[USER_PERMISSIONS.size()]; @@ -63,7 +69,7 @@ if (EasyPermissions.hasPermissions(this, permissions)) { startSplashScreenActivity(); } else { - viewBinding.enterMainButton.setOnClickListener(new View.OnClickListener() { + binding.enterMainButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EasyPermissions.requestPermissions(PermissionActivity.this, "需要获取相关权限", LocaleConstant.PERMISSIONS_CODE, permissions); @@ -94,10 +100,11 @@ @Override public void onPermissionsGranted(int requestCode, @NonNull List perms) { startSplashScreenActivity(); + Log.d(TAG, "onPermissionsGranted: " + ObjectHub.toJson(perms)); } @Override public void onPermissionsDenied(int requestCode, @NonNull List perms) { - + Log.d(TAG, "onPermissionsDenied: " + ObjectHub.toJson(perms)); } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/SplashScreenActivity.java b/app/src/main/java/com/casic/dcms/view/SplashScreenActivity.java index 9adbd60..5559d48 100644 --- a/app/src/main/java/com/casic/dcms/view/SplashScreenActivity.java +++ b/app/src/main/java/com/casic/dcms/view/SplashScreenActivity.java @@ -1,8 +1,10 @@ package com.casic.dcms.view; import android.content.Context; +import android.os.Bundle; import android.os.CountDownTimer; +import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -38,9 +40,9 @@ protected void observeRequestState() { } - + @Override - protected void initData() { + protected void initOnCreate(@Nullable Bundle savedInstanceState) { userViewModel = new ViewModelProvider(this).get(UserViewModel.class); userViewModel.userDataResult.observe(this, new Observer() { @Override