package name.caiyao.microreader.ui.activity;
import android.Manifest;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import name.caiyao.microreader.R;
import name.caiyao.microreader.presenter.IWelcomePresenter;
import name.caiyao.microreader.presenter.impl.WelcomePresenterImpl;
import name.caiyao.microreader.ui.iView.IWelcome;
import name.caiyao.microreader.utils.SharePreferenceUtil;
public class WelcomeActivity extends BaseActivity implements IWelcome {
private static final int READ_EXTERNAL_STORAGE_REQUEST_CODE = 1;
private IWelcomePresenter mIWelcomePresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
mIWelcomePresenter = new WelcomePresenterImpl(this, this);
SharedPreferences sharedPreferences = getSharedPreferences(SharePreferenceUtil.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
getSwipeBackLayout().setEnableGesture(false);
DateFormat dateFormat = SimpleDateFormat.getDateInstance(SimpleDateFormat.DATE_FIELD);
String date = dateFormat.format(new Date());
if (!sharedPreferences.getString(SharePreferenceUtil.IMAGE_GET_TIME, "").equals(date) && SharePreferenceUtil.isChangeThemeAuto(this)) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
new AlertDialog.Builder(this).setMessage(getString(R.string.request_storage_permission)).setPositiveButton(R.string.common_i_know, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ActivityCompat.requestPermissions(WelcomeActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_REQUEST_CODE);
}
}).setCancelable(false).show();
} else {
mIWelcomePresenter.getBackground();
}
} else {
hasGetBackground();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == READ_EXTERNAL_STORAGE_REQUEST_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mIWelcomePresenter.getBackground();
} else {
new AlertDialog.Builder(this).setMessage(getString(R.string.re_request_permission)).setPositiveButton(getString(R.string.common_i_know), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ActivityCompat.requestPermissions(WelcomeActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_REQUEST_CODE);
}
}).show();
}
}
}
@Override
public void finish() {
super.finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
@Override
public void hasGetBackground() {
startActivity(new Intent(WelcomeActivity.this, MainActivity.class));
finish();
}
}