Commit 69c66d89 authored by fallenstardust's avatar fallenstardust

动态权限申请

parent 8a704146
......@@ -20,6 +20,7 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-sdk
tools:overrideLibrary="com.toptoche.searchablespinnerlibrary"/>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
package cn.garymb.ygomobile.ui.home;
import android.Manifest;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.view.WindowManager;
import java.io.IOException;
......@@ -24,19 +29,43 @@ import cn.garymb.ygomobile.utils.NetUtils;
import static cn.garymb.ygomobile.Constants.ACTION_RELOAD;
import static cn.garymb.ygomobile.Constants.NETWORK_IMAGE;
import static cn.garymb.ygomobile.ui.home.ResCheckTask.*;
public class MainActivity extends HomeActivity {
public class MainActivity extends HomeActivity{
private GameUriManager mGameUriManager;
private ImageUpdater mImageUpdater;
private boolean enableStart;
ResCheckTask mResCheckTask;
private final String[] PERMISSIONS ={
// Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
YGOStarter.onCreated(this);
mImageUpdater = new ImageUpdater(this);
//动态权限
ActivityCompat.requestPermissions(this, PERMISSIONS, 0);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
for(int i=0;i<permissions.length;i++){
if(grantResults[i] == PackageManager.PERMISSION_DENIED){
showToast(R.string.tip_no_permission);
break;
}
}
//资源复制
checkRes();
}
private void checkRes() {
checkResourceDownload((error, isNew) -> {
if (error < 0) {
enableStart = false;
......@@ -109,12 +138,12 @@ public class MainActivity extends HomeActivity {
}
@Override
protected void checkResourceDownload(ResCheckTask.ResCheckListener listener) {
mResCheckTask = new ResCheckTask(this, listener);
protected void checkResourceDownload(ResCheckListener listener) {
ResCheckTask task = new ResCheckTask(this, listener);
if (Build.VERSION.SDK_INT >= 11) {
mResCheckTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
mResCheckTask.execute();
task.execute();
}
}
......@@ -132,9 +161,9 @@ public class MainActivity extends HomeActivity {
DialogPlus dialog = DialogPlus.show(this, null, getString(R.string.message));
dialog.show();
VUiKit.defer().when(() -> {
if (IOUtils.hasAssets(this, ResCheckTask.getDatapath(Constants.CORE_PICS_ZIP))) {
if (IOUtils.hasAssets(this, getDatapath(Constants.CORE_PICS_ZIP))) {
try {
IOUtils.copyFilesFromAssets(this, ResCheckTask.getDatapath(Constants.CORE_PICS_ZIP),
IOUtils.copyFilesFromAssets(this, getDatapath(Constants.CORE_PICS_ZIP),
AppsSettings.get().getResourcePath(), true);
} catch (IOException e) {
e.printStackTrace();
......
......@@ -243,12 +243,12 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
+ "SELECT id, ot, alias, setcode, type, atk, def, level, race, attribute, category FROM datas_backup;");
db.execSQL("DROP TABLE datas_backup;");
db.execSQL("ALTER TABLE texts RENAME TO texts_backup;");
db.execSQL("CREATE TABLE texts (_id integer PRIMARY KEY, name varchar(128), desc varchar(1024),"
db.execSQL("CREATE TABLE texts (_id integer PRIMARY KEY, name varchar(128), \"desc\" varchar(1024),"
+ " str1 varchar(256), str2 varchar(256), str3 varchar(256), str4 varchar(256), str5 varchar(256),"
+ " str6 varchar(256), str7 varchar(256), str8 varchar(256), str9 varchar(256), str10 varchar(256),"
+ " str11 varchar(256), str12 varchar(256), str13 varchar(256), str14 varchar(256), str15 varchar(256), str16 varchar(256));");
db.execSQL("INSERT INTO texts (_id, name, desc, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16)"
+ " SELECT id, name, desc, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16 FROM texts_backup;");
db.execSQL("INSERT INTO texts (_id, name, \"desc\", str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16)"
+ " SELECT id, name, \"desc\", str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16 FROM texts_backup;");
db.execSQL("DROP TABLE texts_backup;");
db.setTransactionSuccessful();
} finally {
......@@ -371,5 +371,4 @@ public class ResCheckTask extends AsyncTask<Void, Integer, Integer> {
}
};
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment