Blame view
app/src/main/java/com/dinhcv/lifelogpedometer/activity/WelcomeActivity.java
6.13 KB
|
7f095a929
|
1 |
package com.dinhcv.lifelogpedometer.activity; |
|
6b038e443
|
2 |
import android.Manifest; |
|
7f095a929
|
3 4 5 |
import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; |
|
6b038e443
|
6 |
import android.content.pm.PackageManager; |
|
7f095a929
|
7 |
import android.net.Uri; |
|
6b038e443
|
8 |
import android.os.Build; |
|
7f095a929
|
9 10 |
import android.os.Bundle; import android.os.Handler; |
|
6b038e443
|
11 12 |
import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; |
|
7f095a929
|
13 |
import android.support.v7.app.AlertDialog; |
|
6b038e443
|
14 |
import android.widget.Toast; |
|
7f095a929
|
15 16 17 18 |
import com.dinhcv.lifelogpedometer.R; import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener; import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting; |
|
5520a4b27
|
19 |
import com.dinhcv.lifelogpedometer.portal.ApiServices; |
|
7f095a929
|
20 21 22 23 24 25 26 27 28 |
import com.dinhcv.lifelogpedometer.portal.LLAPIManager;
import com.dinhcv.lifelogpedometer.utils.Debug;
import org.json.JSONArray;
import org.json.JSONObject;
public class WelcomeActivity extends ActivityBase implements Runnable {
private boolean isRefresh = false;
|
|
6b038e443
|
29 |
private static final int PERMISSIONS_REQUEST = 999; |
|
7f095a929
|
30 31 32 33 |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
|
|
6b038e443
|
34 |
checkPermission(); |
|
7f095a929
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
}
private void checkRefreshToken(){
int id = Setting.getUserIdSharepre(WelcomeActivity.this);
Debug.normal("String id: "+ id);
if (id != 0){
handleRefreshToken(id);
}else {
refeshDone();
}
}
private void handleRefreshToken(int id) {
|
|
5520a4b27
|
49 |
ApiServices.refreshToken(WelcomeActivity.this, id, new LLAPIManagerListener() {
|
|
7f095a929
|
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
@Override
public void onError(Error error) {
Debug.error("Version JSON result: ERROR " + error);
String err = getResources().getString(R.string.login_error);
isRefresh = false;
refeshDone();
}
@Override
public void onSuccess(String json) {
Debug.warn("Version JSON result: " + json.toString());
isRefresh = true;
refeshDone();
}
@Override
public void onSuccess(JSONObject object) {
Debug.warn("Version JSON object result: Success");
isRefresh = true;
refeshDone();
}
});
}
private void refeshDone(){
Handler handler = new Handler();
handler.postDelayed(WelcomeActivity.this, 2000);
}
private void notifyErr(String err){
AlertDialog.Builder alertDialog = new AlertDialog.Builder(WelcomeActivity.this);
alertDialog.setMessage(err);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
AlertDialog alert = alertDialog.create();
alert.show();
}
@Override
public void run() {
// go to main screen
if ( isRefresh) {
gotoActivity(PedometerActivity.class);
} else {
// Bundle bundle = new Bundle();
// bundle.putString(Const.URL, url);
gotoActivity(LoginActivity.class);
}
finish();
}
@Override
protected void onResume() {
super.onResume();
}
|
|
6b038e443
|
110 111 112 113 114 115 |
private void checkPermission() {
// Check all permission in android 6.0
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if ((ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
== PackageManager.PERMISSION_GRANTED) && (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
|
|
9c431985f
|
116 |
== PackageManager.PERMISSION_GRANTED)&& (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) |
|
6b038e443
|
117 118 119 120 121 122 123 124 |
== PackageManager.PERMISSION_GRANTED)) {
checkRefreshToken();
} else {
// Requset permisson of device
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission
.ACCESS_COARSE_LOCATION)
&& ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest
|
|
9c431985f
|
125 |
.permission.ACCESS_FINE_LOCATION) && ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest |
|
6b038e443
|
126 127 128 |
.permission.ACCESS_FINE_LOCATION)) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,
|
|
9c431985f
|
129 |
Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE}, |
|
6b038e443
|
130 131 132 133 134 |
PERMISSIONS_REQUEST);
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,
|
|
9c431985f
|
135 |
Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE}, |
|
6b038e443
|
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
PERMISSIONS_REQUEST);
}
}
} else {
checkRefreshToken();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSIONS_REQUEST) {
if (grantResults.length > 0) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED
&& grantResults[1] == PackageManager.PERMISSION_GRANTED
&& grantResults[2] == PackageManager.PERMISSION_GRANTED) {
checkRefreshToken();
return;
}
} else {
Toast.makeText(this, "Permission was not granted ", Toast.LENGTH_SHORT).show();
finish();
}
} else {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
|
|
7f095a929
|
166 |
} |