No more static crap :)

This commit is contained in:
topjohnwu
2017-02-07 02:01:32 +08:00
parent c6bf7bb9cd
commit bef5969580
28 changed files with 421 additions and 367 deletions
@@ -2,11 +2,10 @@ package com.topjohnwu.magisk.superuser;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.topjohnwu.magisk.Global;
import com.topjohnwu.magisk.components.Activity;
public class RequestActivity extends AppCompatActivity {
public class RequestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -18,7 +17,7 @@ public class RequestActivity extends AppCompatActivity {
return;
}
Global.initSuConfigs(this);
getTopApplication().initSuConfigs();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(this, SuRequestActivity.class);
startActivity(intent);
@@ -5,7 +5,7 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.topjohnwu.magisk.Global;
import com.topjohnwu.magisk.MagiskManager;
import java.util.ArrayList;
import java.util.List;
@@ -15,8 +15,11 @@ public class SuLogDatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VER = 1;
private static final String TABLE_NAME = "logs";
private MagiskManager magiskManager;
public SuLogDatabaseHelper(Context context) {
super(context, "sulog.db", null, DATABASE_VER);
magiskManager = (MagiskManager) context.getApplicationContext();
}
@Override
@@ -57,7 +60,7 @@ public class SuLogDatabaseHelper extends SQLiteOpenHelper {
SQLiteDatabase db = getWritableDatabase();
// Clear outdated logs
db.delete(TABLE_NAME, "time < ?", new String[] { String.valueOf(
System.currentTimeMillis() / 1000 - Global.Configs.suLogTimeout * 86400) });
System.currentTimeMillis() / 1000 - magiskManager.suLogTimeout * 86400) });
try (Cursor c = db.query(TABLE_NAME, null, selection, null, null, null, "time DESC")) {
while (c.moveToNext())
ret.add(new SuLogEntry(c));
@@ -6,7 +6,7 @@ import android.content.Intent;
import android.os.Process;
import android.widget.Toast;
import com.topjohnwu.magisk.Global;
import com.topjohnwu.magisk.MagiskManager;
import com.topjohnwu.magisk.R;
import java.util.Date;
@@ -23,6 +23,8 @@ public class SuReceiver extends BroadcastReceiver {
String command, action;
Policy policy;
MagiskManager magiskManager = (MagiskManager) context.getApplicationContext();
if (intent == null) return;
fromUid = intent.getIntExtra("from.uid", -1);
@@ -40,7 +42,7 @@ public class SuReceiver extends BroadcastReceiver {
return;
}
Global.initSuConfigs(context);
magiskManager.initSuConfigs();
SuLogEntry log = new SuLogEntry(policy);
@@ -58,7 +60,7 @@ public class SuReceiver extends BroadcastReceiver {
return;
}
if (policy.notification && Global.Configs.suNotificationType == TOAST)
if (policy.notification && magiskManager.suNotificationType == TOAST)
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
if (policy.logging) {
@@ -8,7 +8,6 @@ import android.net.LocalSocketAddress;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.FileObserver;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.Window;
import android.widget.ArrayAdapter;
@@ -18,8 +17,9 @@ import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import com.topjohnwu.magisk.Global;
import com.topjohnwu.magisk.MagiskManager;
import com.topjohnwu.magisk.R;
import com.topjohnwu.magisk.components.Activity;
import com.topjohnwu.magisk.utils.Async;
import com.topjohnwu.magisk.utils.CallbackHandler;
@@ -29,7 +29,7 @@ import java.io.IOException;
import butterknife.BindView;
import butterknife.ButterKnife;
public class SuRequestActivity extends AppCompatActivity implements CallbackHandler.EventListener {
public class SuRequestActivity extends Activity implements CallbackHandler.EventListener {
private static final int[] timeoutList = {0, -1, 10, 20, 30, 60};
private static final int SU_PROTOCOL_PARAM_MAX = 20;
@@ -51,6 +51,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
private String socketPath;
private LocalSocket socket;
private PackageManager pm;
private MagiskManager magiskManager;
private int uid;
private Policy policy;
@@ -64,6 +65,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
pm = getPackageManager();
magiskManager = getTopApplication();
Intent intent = getIntent();
socketPath = intent.getStringExtra("socket");
@@ -85,7 +87,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
void showRequest() {
switch (Global.Configs.suResponseType) {
switch (magiskManager.suResponseType) {
case AUTO_DENY:
handleAction(Policy.DENY, 0);
return;
@@ -108,7 +110,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
timeout.setAdapter(adapter);
timer = new CountDownTimer(Global.Configs.suRequestTimeout * 1000, 1000) {
timer = new CountDownTimer(magiskManager.suRequestTimeout * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
deny_btn.setText(getString(R.string.deny_with_str, "(" + millisUntilFinished / 1000 + ")"));
@@ -145,7 +147,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
Policy policy = (Policy) event.getResult();
String response = "socket:DENY";
if (policy != null) {
Global.Events.uidMap.remove(policy.uid);
magiskManager.uidMap.remove(policy.uid);
if (policy.policy == Policy.ALLOW)
response = "socket:ALLOW";
}
@@ -224,7 +226,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
return;
}
boolean showRequest = false;
event = Global.Events.uidMap.get(uid);
event = magiskManager.uidMap.get(uid);
if (event == null) {
showRequest = true;
event = new CallbackHandler.Event() {
@@ -234,7 +236,7 @@ public class SuRequestActivity extends AppCompatActivity implements CallbackHand
CallbackHandler.unRegister(this);
}
};
Global.Events.uidMap.put(uid, event);
magiskManager.uidMap.put(uid, event);
}
CallbackHandler.register(event, self);
try {