Add auto zip flashing support

This commit is contained in:
topjohnwu
2016-08-28 03:52:03 +08:00
parent 830fde8007
commit 1f02d0f6d0
13 changed files with 272 additions and 197 deletions

View File

@@ -1,12 +1,17 @@
package com.topjohnwu.magisk;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
@@ -17,6 +22,8 @@ import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import com.topjohnwu.magisk.utils.Shell;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -43,9 +50,10 @@ public class WelcomeActivity extends AppCompatActivity implements NavigationView
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
// Load mods in the background
// Load mods in the background, as it is time consuming
ModulesFragment.loadMod = new ModulesFragment.loadModules();
ModulesFragment.loadMod.execute();
new Popups().execute();
setSupportActionBar(toolbar);
@@ -76,7 +84,11 @@ public class WelcomeActivity extends AppCompatActivity implements NavigationView
navigationView.setNavigationItemSelectedListener(this);
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
&& Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
@@ -145,4 +157,19 @@ public class WelcomeActivity extends AppCompatActivity implements NavigationView
}
}
private class Popups extends AsyncTask <Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... voids) {
return Shell.rootAccess();
}
@Override
protected void onPostExecute(Boolean rootAccess) {
super.onPostExecute(rootAccess);
if (!rootAccess) {
Snackbar.make(findViewById(android.R.id.content), R.string.no_root_access, Snackbar.LENGTH_LONG).show();
}
}
}
}