aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilli Ye <williye97@gmail.com>2015-03-28 19:00:24 +0100
committerWilli Ye <williye97@gmail.com>2015-03-28 19:17:14 +0100
commite64f39617106868c86ee04f8e4c707539c4ee983 (patch)
treec07717921e223e84b4b48101dcc772df2e26c992
parent4f34e902549fa8ffb1359dd6b85992bfe42a5e11 (diff)
Some clean up and add option to test apply on boot
-rw-r--r--app/src/main/AndroidManifest.xml1
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/MainActivity.java70
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/fragments/other/SettingsFragment.java23
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/fragments/tools/ProfileFragment.java2
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/services/BootService.java30
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/services/DashClockService.java32
-rw-r--r--app/src/main/java/com/grarak/kerneladiutor/utils/Constants.java2
-rw-r--r--app/src/main/res/drawable-hdpi/ic_launcher_preview.pngbin0 -> 635 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_launcher_preview.pngbin0 -> 450 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_launcher_preview.pngbin0 -> 917 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_launcher_preview.pngbin0 -> 1563 bytes
-rw-r--r--app/src/main/res/drawable/ic_bg_header.jpg (renamed from app/src/main/res/drawable/bg_header.jpg)bin54528 -> 54528 bytes
-rw-r--r--app/src/main/res/layout/header_main.xml2
-rw-r--r--app/src/main/res/values/strings.xml3
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
new file mode 100644
index 0000000..cc85665
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_launcher_preview.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_launcher_preview.png b/app/src/main/res/drawable-mdpi/ic_launcher_preview.png
new file mode 100644
index 0000000..83a989b
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_launcher_preview.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png b/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png
new file mode 100644
index 0000000..11b4557
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_launcher_preview.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png
new file mode 100644
index 0000000..50e55db
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_launcher_preview.png
Binary files differ
diff --git a/app/src/main/res/drawable/bg_header.jpg b/app/src/main/res/drawable/ic_bg_header.jpg
index cc6d9a4..cc6d9a4 100644
--- a/app/src/main/res/drawable/bg_header.jpg
+++ b/app/src/main/res/drawable/ic_bg_header.jpg
Binary files differ
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>