This commit is contained in:
@ -15,6 +15,12 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.g00fy2.versioncompare.Version;
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.common.AppExecutor;
|
||||
@ -56,11 +62,6 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.ResponseBody;
|
||||
@ -74,7 +75,8 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
|
||||
private SharedPreferences mSharedPreferences;
|
||||
|
||||
private boolean isNewFirstLaunch;
|
||||
private boolean mIsNewForThisVersion;
|
||||
private boolean mStartMainActivityDirectly = false; // 是否不需要用户点击立即体验就直接跳转首页
|
||||
|
||||
private static final int REQUEST_PERMISSION_TAG = 30001;
|
||||
private String[] mPermissions = {
|
||||
@ -94,7 +96,7 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
isNewFirstLaunch = mSharedPreferences.getBoolean("isNewFirstLaunchV" + PackageUtils.getVersionName(), true);
|
||||
mIsNewForThisVersion = mSharedPreferences.getBoolean("isNewFirstLaunchV" + PackageUtils.getVersionName(), true);
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
@ -105,13 +107,14 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
// 判断是不是这个版本的新用户
|
||||
if (isNewFirstLaunch) {
|
||||
if (mIsNewForThisVersion) {
|
||||
mContentView.setPadding(0, 0, 0, 0);
|
||||
ViewPager guideLayout = findViewById(R.id.splash_intro_vp_guide);
|
||||
guideLayout.setAdapter(new GuidePagerAdapter());
|
||||
|
||||
// 判断是不是光环的新用户
|
||||
if (SPUtils.getBoolean(Constants.SP_BRAND_NEW_USER, true)) {
|
||||
mStartMainActivityDirectly = true;
|
||||
SPUtils.setLong(Constants.SP_INITIAL_USAGE_TIME, System.currentTimeMillis());
|
||||
HaloApp.getInstance().isBrandNewInstall = true;
|
||||
showPrivacyDialog(guideLayout);
|
||||
@ -136,7 +139,7 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
requestPermission();
|
||||
});
|
||||
} else {
|
||||
DialogUtils.showPrivacyPolicyDisallowDialog(this, PrivacyPolicyEntity.createDefaultData(),()->{
|
||||
DialogUtils.showPrivacyPolicyDisallowDialog(this, PrivacyPolicyEntity.createDefaultData(), () -> {
|
||||
showPrivacyDialog(guideLayout);
|
||||
});
|
||||
}
|
||||
@ -245,7 +248,7 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
if (isNewFirstLaunch) {
|
||||
if (mIsNewForThisVersion) {
|
||||
return R.layout.activity_splash_intro;
|
||||
} else {
|
||||
return 0;
|
||||
@ -255,7 +258,7 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
|
||||
if (isNewFirstLaunch && EasyPermissions.hasPermissions(this, mPermissions)) {
|
||||
if (mIsNewForThisVersion && EasyPermissions.hasPermissions(this, mPermissions)) {
|
||||
launchMainActivity();
|
||||
} else {
|
||||
return true;
|
||||
@ -336,6 +339,9 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
MtaHelper.onEvent("授权情况", "启动授权", "都授权");
|
||||
// 检查是否有旧版本光环,有就删掉
|
||||
AppExecutor.getIoExecutor().execute(this::deleteOutdatedUpdatePackage);
|
||||
if (mStartMainActivityDirectly) {
|
||||
launchMainActivity();
|
||||
}
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, mPermissions, REQUEST_PERMISSION_TAG);
|
||||
}
|
||||
@ -350,12 +356,22 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||
intent.setData(Uri.parse("package:" + getPackageName()));
|
||||
startActivity(intent);
|
||||
}, () -> logGrantedPermission(perms));
|
||||
}, () -> {
|
||||
logGrantedPermission(perms);
|
||||
if (mStartMainActivityDirectly) {
|
||||
launchMainActivity();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
DialogUtils.showPermissionDialog(this, "权限申请",
|
||||
"在设置-应用-光环助手-权限中开启存储和手机信息权限,以保证能正常使用相关功能", "重试", "放弃",
|
||||
this::checkAndRequestPermission,
|
||||
() -> logGrantedPermission(perms));
|
||||
() -> {
|
||||
logGrantedPermission(perms);
|
||||
if (mStartMainActivityDirectly) {
|
||||
launchMainActivity();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user