From cf69dd644a04c935479dcdf6ad01ecf837fd4bef Mon Sep 17 00:00:00 2001 From: d8ahazard Date: Sat, 24 Sep 2016 13:46:42 -0500 Subject: [PATCH] Fix some thangs --- app/build.gradle | 1 + .../topjohnwu/magisk/AutoRootFragment.java | 1 + .../com/topjohnwu/magisk/MainActivity.java | 29 ++++++++++++++++- .../com/topjohnwu/magisk/ReposFragment.java | 5 +++ .../com/topjohnwu/magisk/RootFragment.java | 10 ++++++ .../com/topjohnwu/magisk/SplashActivity.java | 3 +- .../magisk/services/TileServiceCompat.java | 2 ++ .../com/topjohnwu/magisk/utils/Utils.java | 2 ++ app/src/main/res/layout/list_item_module.xml | 32 ++++++++++--------- app/src/main/res/values/strings.xml | 6 ++-- 10 files changed, 71 insertions(+), 20 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 442597aa7..55797f589 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -36,6 +36,7 @@ dependencies { compile 'com.android.support:cardview-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.github.d8ahazard:BroadcastTileSupportUpdate:master' + compile 'com.getkeepsafe.taptargetview:taptargetview:1.2.0' compile 'com.jakewharton:butterknife:8.4.0' compile 'com.github.michalis-vitos:aFileChooser:master' compile 'com.google.code.gson:gson:2.7' diff --git a/app/src/main/java/com/topjohnwu/magisk/AutoRootFragment.java b/app/src/main/java/com/topjohnwu/magisk/AutoRootFragment.java index c13ed80c2..3353a8d81 100644 --- a/app/src/main/java/com/topjohnwu/magisk/AutoRootFragment.java +++ b/app/src/main/java/com/topjohnwu/magisk/AutoRootFragment.java @@ -36,6 +36,7 @@ public class AutoRootFragment extends ListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); View view = inflater.inflate(R.layout.auto_root_fragment, container, false); int horizontalMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, getResources().getDisplayMetrics()); int verticalMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, getResources().getDisplayMetrics()); diff --git a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java index d630341fa..d734993c3 100644 --- a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java @@ -5,6 +5,7 @@ import android.app.Fragment; import android.app.FragmentTransaction; import android.content.Intent; import android.content.pm.PackageManager; +import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.os.Handler; @@ -19,10 +20,12 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.view.View; +import android.widget.ImageButton; import com.topjohnwu.magisk.utils.Logger; import com.topjohnwu.magisk.utils.Utils; + import butterknife.BindView; import butterknife.ButterKnife; @@ -32,6 +35,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On private final Handler mDrawerHandler = new Handler(); private String currentTitle; + private View mView; @BindView(R.id.toolbar) Toolbar toolbar; @@ -100,7 +104,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On navigationView.setCheckedItem(R.id.settings); } } - }); + } + + ); setSupportActionBar(toolbar); @@ -130,9 +136,25 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On } navigationView.setNavigationItemSelectedListener(this); + mView = getToolbarNavigationButton(); if (getIntent().hasExtra("relaunch")) { navigate(R.id.root); } + startTour(); + } + + public ImageButton getToolbarNavigationButton() { + int size = toolbar.getChildCount(); + for (int i = 0; i < size; i++) { + View child = toolbar.getChildAt(i); + if (child instanceof ImageButton) { + ImageButton btn = (ImageButton) child; + if (btn.getDrawable() == toolbar.getNavigationIcon()) { + return btn; + } + } + } + return null; } @Override @@ -141,6 +163,11 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On } + private void startTour() { + navigate(R.id.root); + + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/app/src/main/java/com/topjohnwu/magisk/ReposFragment.java b/app/src/main/java/com/topjohnwu/magisk/ReposFragment.java index 53729186f..54d6d7ad5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ReposFragment.java +++ b/app/src/main/java/com/topjohnwu/magisk/ReposFragment.java @@ -3,6 +3,7 @@ package com.topjohnwu.magisk; import android.app.Fragment; import android.content.DialogInterface; import android.content.SharedPreferences; +import android.graphics.Color; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.annotation.Nullable; @@ -20,6 +21,7 @@ import com.topjohnwu.magisk.module.Repo; import com.topjohnwu.magisk.module.RepoHelper; import com.topjohnwu.magisk.utils.Async; import com.topjohnwu.magisk.utils.Utils; +import com.wooplr.spotlight.SpotlightView; import java.io.File; import java.util.ArrayList; @@ -29,6 +31,8 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; +import static com.topjohnwu.magisk.R.menu.drawer; + public class ReposFragment extends Fragment { public static List mListRepos = new ArrayList<>(); @@ -74,6 +78,7 @@ public class ReposFragment extends Fragment { CheckForUpdates(); Log.d("Magisk", "ReposFragment: ListRepos size is " + listRepos().size()); recyclerView.setAdapter(new ReposAdapter(this, mListRepos)); + return view; } diff --git a/app/src/main/java/com/topjohnwu/magisk/RootFragment.java b/app/src/main/java/com/topjohnwu/magisk/RootFragment.java index 81c22f112..709e77250 100644 --- a/app/src/main/java/com/topjohnwu/magisk/RootFragment.java +++ b/app/src/main/java/com/topjohnwu/magisk/RootFragment.java @@ -1,15 +1,19 @@ package com.topjohnwu.magisk; import android.app.Fragment; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.PorterDuff; +import android.graphics.Typeface; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.annotation.Nullable; import android.support.design.widget.Snackbar; +import android.text.SpannableString; +import android.text.style.StyleSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -21,6 +25,8 @@ import android.widget.Switch; import android.widget.TextView; import android.widget.Toast; +import com.getkeepsafe.taptargetview.TapTarget; +import com.getkeepsafe.taptargetview.TapTargetSequence; import com.topjohnwu.magisk.services.MonitorService; import com.topjohnwu.magisk.utils.Logger; import com.topjohnwu.magisk.utils.PrefHelper; @@ -138,6 +144,7 @@ public class RootFragment extends Fragment { new updateUI().execute(); }); + return view; } @@ -147,6 +154,8 @@ public class RootFragment extends Fragment { prefs.unregisterOnSharedPreferenceChangeListener(listener); } + + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { // Check which request we're responding to @@ -188,6 +197,7 @@ public class RootFragment extends Fragment { super.onResume(); getActivity().setTitle("Root"); new updateUI().execute(); + } public class updateUI extends AsyncTask { diff --git a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java index 17bb7e1b2..899d2e1b1 100644 --- a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java @@ -20,6 +20,7 @@ public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + //setups go here // Set up default preferences,make sure we add "extra" blacklist entries. @@ -63,7 +64,7 @@ public class SplashActivity extends AppCompatActivity { // Start main activity Intent intent = new Intent(this, MainActivity.class); startActivity(intent); - + finish(); } } diff --git a/app/src/main/java/com/topjohnwu/magisk/services/TileServiceCompat.java b/app/src/main/java/com/topjohnwu/magisk/services/TileServiceCompat.java index 76c9c72e8..2a1aace3e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/services/TileServiceCompat.java +++ b/app/src/main/java/com/topjohnwu/magisk/services/TileServiceCompat.java @@ -74,7 +74,9 @@ public class TileServiceCompat extends Service { private void onSimpleClick() { updateRoots(); updateTile(); + Utils.toggleAutoRoot(false,getApplicationContext()); Utils.toggleRoot(!root,getApplicationContext()); + } private void onLongClick() { diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java index 86f88219e..e86805103 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java @@ -145,6 +145,7 @@ public class Utils { } public static void toggleAutoRoot(Boolean b, Context context) { + Logger.dh("Utils: toggleAutocalled for " + b ); if (Utils.magiskVersion != -1) { if (!Utils.hasServicePermission(context)) { Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS); @@ -152,6 +153,7 @@ public class Utils { intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } else { + Logger.dh("Utils: toggleAuto checks passed, setting" + b ); PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("autoRootEnable", b).apply(); Intent myServiceIntent = new Intent(context, MonitorService.class); if (b) { diff --git a/app/src/main/res/layout/list_item_module.xml b/app/src/main/res/layout/list_item_module.xml index da135a5e0..3bb8a8ed6 100644 --- a/app/src/main/res/layout/list_item_module.xml +++ b/app/src/main/res/layout/list_item_module.xml @@ -28,27 +28,29 @@ android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginTop="0dp" - android:singleLine="false" + android:maxLines="1" android:textAppearance="?android:attr/textAppearanceMedium" android:textIsSelectable="false" /> + android:textStyle="bold|italic" + android:layout_alignParentStart="true"/> + android:orientation="horizontal" + android:layout_alignParentTop="true" + android:layout_above="@+id/expand_layout" + android:paddingTop="15dp"> + android:id="@+id/delete" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="0dp" + android:focusable="false" + android:gravity="center" + android:padding="@dimen/checkbox_padding" + android:src="@drawable/ic_delete" + tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0ee1bf2fb..f805253e2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -113,14 +113,14 @@ Quick Settings Enable Quicksettings Tile Click here to enable or disable the quick settings tile. - Disable root unless otherwise enabled by Auto-root or toggle. + Disable root unless otherwise enabled by auto-toggle or toggle. Keep root turned off Enable advanced debug logging Check this to enable more verbose logging. Root Development - When checked, auto-root notifications will not be displayed. - Hide auto-root notifications + When checked, auto-toggle notifications will not be displayed. + Hide auto-toggle notifications Auto-toggle