diff options
| author | Willi Ye <williye97@gmail.com> | 2015-03-28 19:00:24 +0100 |
|---|---|---|
| committer | Willi Ye <williye97@gmail.com> | 2015-03-28 19:17:14 +0100 |
| commit | e64f39617106868c86ee04f8e4c707539c4ee983 (patch) | |
| tree | c07717921e223e84b4b48101dcc772df2e26c992 | |
| parent | 4f34e902549fa8ffb1359dd6b85992bfe42a5e11 (diff) | |
Some clean up and add option to test apply on boot
14 files changed, 91 insertions, 74 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 02b7cf7..8f28292 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -52,6 +52,7 @@ <service android:name=".services.DashClockService" + android:icon="@drawable/ic_launcher_preview" android:permission="com.google.android.apps.dashclock.permission.READ_EXTENSION_DATA"> <intent-filter> <action android:name="com.google.android.apps.dashclock.Extension" /> diff --git a/app/src/main/java/com/grarak/kerneladiutor/MainActivity.java b/app/src/main/java/com/grarak/kerneladiutor/MainActivity.java index d886451..9a5ba16 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/MainActivity.java +++ b/app/src/main/java/com/grarak/kerneladiutor/MainActivity.java @@ -65,7 +65,6 @@ import com.grarak.kerneladiutor.utils.kernel.CPUHotplug; import com.grarak.kerneladiutor.utils.kernel.CPUVoltage; import com.grarak.kerneladiutor.utils.kernel.GPU; import com.grarak.kerneladiutor.utils.kernel.KSM; -import com.grarak.kerneladiutor.utils.kernel.LMK; import com.grarak.kerneladiutor.utils.kernel.Screen; import com.grarak.kerneladiutor.utils.kernel.Sound; import com.grarak.kerneladiutor.utils.kernel.Wake; @@ -133,7 +132,7 @@ public class MainActivity extends ActionBarActivity implements Constants { } private void selectItem(int position) { - Fragment fragment = mList.get(position).getFragment(); + Fragment fragment = ITEMS.get(position).getFragment(); if (fragment == null || cur_position == position) { mDrawerList.setItemChecked(cur_position, true); @@ -150,45 +149,44 @@ public class MainActivity extends ActionBarActivity implements Constants { e.printStackTrace(); } - setTitle(mList.get(position).getTitle()); + setTitle(ITEMS.get(position).getTitle()); mDrawerList.setItemChecked(position, true); } private void setList() { - mList.clear(); - mList.add(new ListAdapter.MainHeader()); - mList.add(new ListAdapter.Header(getString(R.string.information))); - mList.add(new ListAdapter.Item(getString(R.string.kernel_information), new KernelInformationFragment())); - mList.add(new ListAdapter.Item(getString(R.string.frequency_table), new FrequencyTableFragment())); - mList.add(new ListAdapter.Header(getString(R.string.kernel))); - mList.add(new ListAdapter.Item(getString(R.string.cpu), new CPUFragment())); + ITEMS.clear(); + ITEMS.add(new ListAdapter.MainHeader()); + ITEMS.add(new ListAdapter.Header(getString(R.string.information))); + ITEMS.add(new ListAdapter.Item(getString(R.string.kernel_information), new KernelInformationFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.frequency_table), new FrequencyTableFragment())); + ITEMS.add(new ListAdapter.Header(getString(R.string.kernel))); + ITEMS.add(new ListAdapter.Item(getString(R.string.cpu), new CPUFragment())); if (CPUVoltage.hasCpuVoltage()) - mList.add(new ListAdapter.Item(getString(R.string.cpu_voltage), new CPUVoltageFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.cpu_voltage), new CPUVoltageFragment())); if (CPUHotplug.hasCpuHotplug()) - mList.add(new ListAdapter.Item(getString(R.string.cpu_hotplug), new CPUHotplugFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.cpu_hotplug), new CPUHotplugFragment())); if (GPU.hasGpuControl()) - mList.add(new ListAdapter.Item(getString(R.string.gpu), new GPUFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.gpu), new GPUFragment())); if (Screen.hasScreen()) - mList.add(new ListAdapter.Item(getString(R.string.screen), new ScreenFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.screen), new ScreenFragment())); if (Wake.hasWake()) - mList.add(new ListAdapter.Item(getString(R.string.wake_controls), new WakeFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.wake_controls), new WakeFragment())); if (Sound.hasSound()) - mList.add(new ListAdapter.Item(getString(R.string.sound), new SoundFragment())); - mList.add(new ListAdapter.Item(getString(R.string.battery), new BatteryFragment())); - mList.add(new ListAdapter.Item(getString(R.string.io_scheduler), new IOFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.sound), new SoundFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.battery), new BatteryFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.io_scheduler), new IOFragment())); if (KSM.hasKsm()) - mList.add(new ListAdapter.Item(getString(R.string.ksm), new KSMFragment())); - if (LMK.getMinFrees() != null) - mList.add(new ListAdapter.Item(getString(R.string.low_memory_killer), new LMKFragment())); - mList.add(new ListAdapter.Item(getString(R.string.virtual_memory), new VMFragment())); - mList.add(new ListAdapter.Item(getString(R.string.misc_controls), new MiscFragment())); - mList.add(new ListAdapter.Header(getString(R.string.tools))); - mList.add(new ListAdapter.Item(getString(R.string.build_prop_editor), new BuildpropFragment())); - mList.add(new ListAdapter.Item(getString(R.string.profile), new ProfileFragment())); - mList.add(new ListAdapter.Header(getString(R.string.other))); - mList.add(new ListAdapter.Item(getString(R.string.settings), new SettingsFragment())); - mList.add(new ListAdapter.Item(getString(R.string.faq), new FAQFragment())); - mList.add(new ListAdapter.Item(getString(R.string.about_us), new AboutusFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.ksm), new KSMFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.low_memory_killer), new LMKFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.virtual_memory), new VMFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.misc_controls), new MiscFragment())); + ITEMS.add(new ListAdapter.Header(getString(R.string.tools))); + ITEMS.add(new ListAdapter.Item(getString(R.string.build_prop_editor), new BuildpropFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.profile), new ProfileFragment())); + ITEMS.add(new ListAdapter.Header(getString(R.string.other))); + ITEMS.add(new ListAdapter.Item(getString(R.string.settings), new SettingsFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.faq), new FAQFragment())); + ITEMS.add(new ListAdapter.Item(getString(R.string.about_us), new AboutusFragment())); } private void setView() { @@ -204,7 +202,7 @@ public class MainActivity extends ActionBarActivity implements Constants { mScrimInsetsFrameLayout.setLayoutParams(getDrawerParams()); if (Utils.DARKTHEME) mScrimInsetsFrameLayout.setBackgroundColor(getResources().getColor(R.color.navigationdrawer_background_dark)); - mDrawerList.setAdapter(new ListAdapter.Adapter(this, mList)); + mDrawerList.setAdapter(new ListAdapter.Adapter(this, ITEMS)); mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { @@ -243,10 +241,6 @@ public class MainActivity extends ActionBarActivity implements Constants { if (hasRoot && hasBusybox) { RootUtils.su = new RootUtils.SU(); - String[] readPermission = {CPU_MAX_FREQ, CPU_MIN_FREQ, CPU_SCALING_GOVERNOR}; - for (String file : readPermission) - RootUtils.runCommand("chmod 444 " + file); - String[] writePermission = {LMK_MINFREE}; for (String file : writePermission) RootUtils.runCommand("chmod 644 " + file); @@ -279,9 +273,9 @@ public class MainActivity extends ActionBarActivity implements Constants { setInterface(); if (LAUNCH_NAME == null) LAUNCH_NAME = KernelInformationFragment.class.getSimpleName(); - for (int i = 0; i < mList.size(); i++) { - if (mList.get(i).getFragment() != null) - if (LAUNCH_NAME.equals(mList.get(i).getFragment().getClass().getSimpleName())) + for (int i = 0; i < ITEMS.size(); i++) { + if (ITEMS.get(i).getFragment() != null) + if (LAUNCH_NAME.equals(ITEMS.get(i).getFragment().getClass().getSimpleName())) selectItem(i); } } diff --git a/app/src/main/java/com/grarak/kerneladiutor/fragments/other/SettingsFragment.java b/app/src/main/java/com/grarak/kerneladiutor/fragments/other/SettingsFragment.java index 911a9b2..a87eeb8 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/fragments/other/SettingsFragment.java +++ b/app/src/main/java/com/grarak/kerneladiutor/fragments/other/SettingsFragment.java @@ -24,9 +24,11 @@ import com.grarak.kerneladiutor.MainActivity; import com.grarak.kerneladiutor.R; import com.grarak.kerneladiutor.elements.CardViewItem; import com.grarak.kerneladiutor.elements.DividerCardView; +import com.grarak.kerneladiutor.elements.ListAdapter; import com.grarak.kerneladiutor.elements.PopupCardItem; import com.grarak.kerneladiutor.elements.SwitchCompatCardItem; import com.grarak.kerneladiutor.fragments.RecyclerViewFragment; +import com.grarak.kerneladiutor.services.BootService; import com.grarak.kerneladiutor.utils.Constants; import com.grarak.kerneladiutor.utils.Utils; import com.grarak.kerneladiutor.utils.root.RootUtils; @@ -153,6 +155,27 @@ public class SettingsFragment extends RecyclerViewFragment { }); addView(mShowToastCard); + + CardViewItem.DCardView mTestCard = new CardViewItem.DCardView(); + mTestCard.setTitle(getString(R.string.test)); + mTestCard.setDescription(getString(R.string.test_summary)); + mTestCard.setOnDCardListener(new CardViewItem.DCardView.OnDCardListener() { + @Override + public void onClick(CardViewItem.DCardView dCardView) { + boolean applyonbootenabled = false; + for (ListAdapter.ListItem item : Constants.ITEMS) + if (item.getFragment() != null && Utils.getBoolean(item.getFragment().getClass().getSimpleName() + + "onboot", false, getActivity())) { + applyonbootenabled = true; + break; + } + if (applyonbootenabled) + getActivity().startService(new Intent(getActivity(), BootService.class)); + else Utils.toast(getString(R.string.enable_apply_on_boot_first), getActivity()); + } + }); + + addView(mTestCard); } private void debuggingInit() { diff --git a/app/src/main/java/com/grarak/kerneladiutor/fragments/tools/ProfileFragment.java b/app/src/main/java/com/grarak/kerneladiutor/fragments/tools/ProfileFragment.java index cf0ea91..c7ee14f 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/fragments/tools/ProfileFragment.java +++ b/app/src/main/java/com/grarak/kerneladiutor/fragments/tools/ProfileFragment.java @@ -108,7 +108,7 @@ public class ProfileFragment extends RecyclerViewFragment { String stop = getString(R.string.tools); final List<Class> fragments = new ArrayList<>(); final List<TintCheckBox> checkBoxes = new ArrayList<>(); - for (ListAdapter.ListItem item : Constants.mList) { + for (ListAdapter.ListItem item : Constants.ITEMS) { if (item.getTitle() != null) { if (item.getTitle().equals(start)) load = false; if (item.getTitle().equals(stop)) load = true; diff --git a/app/src/main/java/com/grarak/kerneladiutor/services/BootService.java b/app/src/main/java/com/grarak/kerneladiutor/services/BootService.java index e4ca258..5bb9d48 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/services/BootService.java +++ b/app/src/main/java/com/grarak/kerneladiutor/services/BootService.java @@ -92,31 +92,27 @@ public class BootService extends Service { mBuilder = new NotificationCompat.Builder(this); mBuilder.setContentTitle(getString(R.string.apply_on_boot)) .setContentText(getString(R.string.apply_on_boot_time, delay)) - .setSmallIcon(R.mipmap.ic_launcher); + .setSmallIcon(R.drawable.ic_launcher_preview); new Thread(new Runnable() { @Override public void run() { - if (Utils.getBoolean("applyonbootnotification", true, BootService.this)) { - for (int i = delay; i >= 0; i--) - try { - Thread.sleep(1000); - mBuilder.setContentText(getString(R.string.apply_on_boot_time, i)) - .setProgress(delay, delay - i, false); - mNotifyManager.notify(id, mBuilder.build()); - } catch (InterruptedException e) { - e.printStackTrace(); - } - mBuilder.setContentText(getString(R.string.apply_on_boot_finished)).setProgress(0, 0, false); - mNotifyManager.notify(id, mBuilder.build()); - apply(applys); - } else { + boolean notification = Utils.getBoolean("applyonbootnotification", true, BootService.this); + for (int i = delay; i >= 0; i--) try { - Thread.sleep(delay * 1000); - apply(applys); + Thread.sleep(1000); + String note = getString(R.string.apply_on_boot_time, i); + if (notification) { + mBuilder.setContentText(note).setProgress(delay, delay - i, false); + mNotifyManager.notify(id, mBuilder.build()); + } else if ((i % 10 == 0 || i == delay) && i != 0) toast(note); } catch (InterruptedException e) { e.printStackTrace(); } + if (notification) { + mBuilder.setContentText(getString(R.string.apply_on_boot_finished)).setProgress(0, 0, false); + mNotifyManager.notify(id, mBuilder.build()); } + apply(applys); } }).start(); } else stopSelf(); diff --git a/app/src/main/java/com/grarak/kerneladiutor/services/DashClockService.java b/app/src/main/java/com/grarak/kerneladiutor/services/DashClockService.java index 82aa15f..bb3dfc4 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/services/DashClockService.java +++ b/app/src/main/java/com/grarak/kerneladiutor/services/DashClockService.java @@ -29,36 +29,36 @@ import com.grarak.kerneladiutor.utils.root.RootUtils; public class DashClockService extends DashClockExtension { private boolean running = false; + private ExtensionData extensionData; @Override protected void onUpdateData(int reason) { final String status = getString(R.string.app_name); final int cores = CPU.getCoreCount(); + if (extensionData == null) + extensionData = new ExtensionData().visible(true).icon(R.drawable.ic_launcher_preview); if (!running) new Thread(new Runnable() { @Override public void run() { while (true) { try { String body = ""; + if (RootUtils.rootAccess()) { + String cpu = ""; + for (int i = 0; i < cores; i++) { + if (!cpu.isEmpty()) cpu += " | "; + int freq = CPU.getCurFreq(i) / 1000; + cpu += freq == 0 ? "Offline" : freq; + } + if (!cpu.isEmpty()) body += "CPU: " + cpu + "\n"; + body += "GOVERNOR: " + CPU.getCurGovernor(0) + "\n"; - String cpu = ""; - for (int i = 0; i < cores; i++) { - if (!cpu.isEmpty()) cpu += " | "; - int freq = CPU.getCurFreq(i) / 1000; - cpu += freq == 0 ? "Offline" : freq; - } - if (!cpu.isEmpty()) body += "CPU: " + cpu + "\n"; - body += "GOVERNOR: " + CPU.getCurGovernor(0) + "\n"; + if (GPU.hasGpuCurFreq()) + body += "GPU: " + (GPU.getGpuCurFreq() / 1000000) + "MHz"; + } else body = getString(R.string.no_root); - if (GPU.hasGpuCurFreq()) - body += "GPU: " + (GPU.getGpuCurFreq() / 1000000) + "MHz"; - - publishUpdate(new ExtensionData() - .visible(true) - .icon(R.mipmap.ic_launcher) - .status(status) - .expandedBody(body)); + publishUpdate(extensionData.status(status).expandedBody(body)); Thread.sleep(5000); } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/grarak/kerneladiutor/utils/Constants.java b/app/src/main/java/com/grarak/kerneladiutor/utils/Constants.java index 4b23b2d..d4cf752 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/utils/Constants.java +++ b/app/src/main/java/com/grarak/kerneladiutor/utils/Constants.java @@ -30,7 +30,7 @@ public interface Constants { String TAG = "Kernel Adiutor"; String VERSION_NAME = BuildConfig.VERSION_NAME; String PREF_NAME = "prefs"; - List<ListAdapter.ListItem> mList = new ArrayList<>(); + List<ListAdapter.ListItem> ITEMS = new ArrayList<>(); // Kernel Informations String PROC_VERSION = "/proc/version"; diff --git a/app/src/main/res/drawable-hdpi/ic_launcher_preview.png b/app/src/main/res/drawable-hdpi/ic_launcher_preview.png Binary files differnew file mode 100644 index 0000000..cc85665 --- /dev/null +++ b/app/src/main/res/drawable-hdpi/ic_launcher_preview.png diff --git a/app/src/main/res/drawable-mdpi/ic_launcher_preview.png b/app/src/main/res/drawable-mdpi/ic_launcher_preview.png Binary files differnew file mode 100644 index 0000000..83a989b --- /dev/null +++ b/app/src/main/res/drawable-mdpi/ic_launcher_preview.png diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png b/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png Binary files differnew file mode 100644 index 0000000..11b4557 --- /dev/null +++ b/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png Binary files differnew file mode 100644 index 0000000..50e55db --- /dev/null +++ b/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png diff --git a/app/src/main/res/drawable/bg_header.jpg b/app/src/main/res/drawable/ic_bg_header.jpg Binary files differindex cc6d9a4..cc6d9a4 100644 --- a/app/src/main/res/drawable/bg_header.jpg +++ b/app/src/main/res/drawable/ic_bg_header.jpg diff --git a/app/src/main/res/layout/header_main.xml b/app/src/main/res/layout/header_main.xml index 103e0c8..acef2fd 100644 --- a/app/src/main/res/layout/header_main.xml +++ b/app/src/main/res/layout/header_main.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent"> <ImageView - android:src="@drawable/bg_header" + android:src="@drawable/ic_bg_header" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1fc562d..c018566 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -362,6 +362,9 @@ <string name="notification">Notification</string> <string name="notification_summary">Show a notification when apply on boot service starts. Please disable this if you get any problems.</string> <string name="show_toast">Show toast</string> + <string name="test">Test</string> + <string name="test_summary">Test apply on boot (with delay). If nothing happens then there are no saved settings.</string> + <string name="enable_apply_on_boot_first">You have to enable apply on boot at least for one section first.</string> <string name="debugging">Debugging</string> <string name="logcat">Logcat</string> <string name="logcat_summary">Copy logcat to /sdcard/logcat.txt</string> |
