fix conflict

This commit is contained in:
CsHeng
2017-09-13 18:31:41 +08:00
11 changed files with 229 additions and 77 deletions

View File

@ -1,5 +1,6 @@
package com.gh.gamecenter;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@ -8,6 +9,7 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
@ -18,6 +20,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.PlatformUtils;
import com.gh.common.util.TagUtils;
@ -25,7 +28,6 @@ import com.gh.common.util.TimestampUtils;
import com.gh.common.util.TokenUtils;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.manager.DataCollectionManager;
import com.gh.gamecenter.manager.FilterManager;
import com.gh.gamecenter.retrofit.JSONObjectResponse;
import com.gh.gamecenter.retrofit.RetrofitManager;
@ -46,6 +48,7 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
import pub.devrel.easypermissions.EasyPermissions;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
@ -64,6 +67,10 @@ public class SplashScreenActivity extends BaseActivity {
private boolean isFirst;
private boolean isNewFirstLaunch;
private final static int REQUEST_PERMISSION_TAG = 10012;
private String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE};
public static Intent[] getRedirectIntents(Context context, Uri uri) {
List<Intent> intentList = new ArrayList<>();
if (AppManager.getInstance().isEmpty()) {
@ -112,20 +119,10 @@ public class SplashScreenActivity extends BaseActivity {
isFirst = true;
// if (isNewFirstLaunch || mSharedPreferences.getInt("actionbar_height", 0) != 0) {
if (isNewFirstLaunch) {
setTheme(R.style.AppGuideTheme);
} else {
setTheme(R.style.AppFullScreenTheme);
// 自定义ActionBar
// ActionBar actionBar = getActionBar();
// if (actionBar != null) {
// actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
// RelativeLayout relativeLayout = new RelativeLayout(this);
// relativeLayout.setBackgroundResource(R.color.theme);
// LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
// actionBar.setCustomView(relativeLayout, params);// 自定义ActionBar布局
// }
}
if (isNewFirstLaunch) {
@ -168,7 +165,7 @@ public class SplashScreenActivity extends BaseActivity {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
if (isNewFirstLaunch) {
if (isNewFirstLaunch && EasyPermissions.hasPermissions(this, permissions)) {
launch();
} else {
return true;
@ -228,36 +225,69 @@ public class SplashScreenActivity extends BaseActivity {
// 更新本地时间
TokenUtils.getTime(this);
// 上传数据
DataCollectionManager.getInstance(getApplicationContext()).upload();
// // 上传数据 TODO 基于上报信息涉及用户权限 防止由于未授予权限导致的闪退 移动MainActivity上报
// DataCollectionManager.getInstance(getApplicationContext()).upload();
// 解决助手奔溃后导致的下载状态保留问题
DownloadManager.getInstance(this).checkAll();
// 不是第一次启动
if (!isNewFirstLaunch) {
// int height = mSharedPreferences.getInt("actionbar_height", 0);
// if (height == 0) {
// final ActionBar actionBar = getActionBar();
// if (actionBar != null) {
// mSharedPreferences.edit().putInt("actionbar_height", actionBar.getHeight()).apply();
// }
// }
long end = System.currentTimeMillis() - start;
if (end < 3000) {
getWindow().getDecorView().postDelayed(new Runnable() {
@Override
public void run() {
launch();
}
}, 3000 - end);
} else {
launch();
}
checkPermissions(permissions, null);
}
}
@Override
protected void onPermissionsSuccess(String tag) {
if (!isNewFirstLaunch) {
long end = System.currentTimeMillis() - start;
if (end < 3000) {
getWindow().getDecorView().postDelayed(new Runnable() {
@Override
public void run() {
launch();
}
}, 3000 - end);
} else {
launch();
}
}
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) { // 设置"不要再询问",必须手动到系统设置授权
DialogUtils.showPermissionDialog(this, "重要提醒",
"请授予光环助手权限,否则将无法使用\n请点击\"设置\"-\"应用\"-\"光环助手\"-\"权限\"-打开所需权限", "去设置", "退出",
new DialogUtils.ConfirmListener() {
@Override
public void onConfirm() {
// TODO 跳转至当前应用设置界面时,当前app自动退出
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
}, new DialogUtils.CancelListener() {
@Override
public void onCancel() {
finish();
}
});
} else {
DialogUtils.showPermissionDialog(this, "重要提醒",
"请授予光环助手权限,否则将无法使用", "重试", "退出",
new DialogUtils.ConfirmListener() {
@Override
public void onConfirm() {
checkPermissions(permissions, null);
}
}, new DialogUtils.CancelListener() {
@Override
public void onCancel() {
finish();
}
});
}
}
// 检查下载文件夹下是否有旧版本的光环助手的包,有则删除
private void checkOldGhFile() {
File folder = new File(FileUtils.getDownloadDir(this) + File.separator);
@ -353,7 +383,9 @@ public class SplashScreenActivity extends BaseActivity {
tvSkip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
launch();
if (EasyPermissions.hasPermissions(SplashScreenActivity.this, permissions)) {
launch();
}
}
});