Skip to content
This repository was archived by the owner on Mar 24, 2023. It is now read-only.

Commit 32faada

Browse files
Added option to edit current configuration file
and small bug fixes Signed-off-by: sunilpaulmathew <sunil.kde@gmail.com>
1 parent a49e7c3 commit 32faada

5 files changed

Lines changed: 134 additions & 1 deletion

File tree

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
<activity android:name="com.smartpack.kernelprofiler.utils.CreateConfigActivity" />
3232
<activity android:name="com.smartpack.kernelprofiler.utils.CreateProfileActivity" />
33+
<activity android:name="com.smartpack.kernelprofiler.utils.EditConfigActivity" />
3334

3435
<receiver
3536
android:name=".utils.OnBootReceiver"

app/src/main/java/com/smartpack/kernelprofiler/MainActivity.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.smartpack.kernelprofiler.fragments.KPFragment;
2323
import com.smartpack.kernelprofiler.utils.CreateConfigActivity;
2424
import com.smartpack.kernelprofiler.utils.CreateProfileActivity;
25+
import com.smartpack.kernelprofiler.utils.EditConfigActivity;
2526
import com.smartpack.kernelprofiler.utils.KP;
2627
import com.smartpack.kernelprofiler.utils.PagerAdapter;
2728
import com.smartpack.kernelprofiler.utils.Prefs;
@@ -151,6 +152,9 @@ private void settingsMenu() {
151152
SubMenu tools = menu.addSubMenu(Menu.NONE, 0, Menu.NONE, getString(R.string.tools_developer));
152153
tools.add(Menu.NONE, 7, Menu.NONE, getString(R.string.create_profile));
153154
tools.add(Menu.NONE, 8, Menu.NONE, getString(R.string.create_config));
155+
if (KP.supported()) {
156+
tools.add(Menu.NONE, 12, Menu.NONE, getString(R.string.edit_config));
157+
}
154158
SubMenu app = menu.addSubMenu(Menu.NONE, 0, Menu.NONE, getString(R.string.app_about));
155159
app.add(Menu.NONE, 4, Menu.NONE, getString(R.string.support));
156160
app.add(Menu.NONE, 9, Menu.NONE, getString(R.string.source_code));
@@ -234,6 +238,10 @@ private void settingsMenu() {
234238
})
235239
.show();
236240
break;
241+
case 12:
242+
Intent editConfig = new Intent(this, EditConfigActivity.class);
243+
startActivity(editConfig);
244+
break;
237245
}
238246
return false;
239247
});

app/src/main/java/com/smartpack/kernelprofiler/utils/CreateConfigActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5959
obj.put("default", mDefaultHint.getText());
6060
obj.put("developer", mDeveloperHint.getText());
6161
obj.put("support", mSupportHint.getText());
62-
obj.put("donations", mDescriptionHint.getText());
62+
obj.put("donations", mDonationsHint.getText());
6363
Utils.create(obj.toString(), Environment.getExternalStorageDirectory().toString() + "/kernelprofiler.json");
6464
Utils.snackbarIndenite(mTitle, getString(R.string.configuration_created, Environment.getExternalStorageDirectory().toString()));
6565
} catch (JSONException ignored) {
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
package com.smartpack.kernelprofiler.utils;
2+
3+
import android.Manifest;
4+
import android.os.Bundle;
5+
import android.os.Environment;
6+
7+
import androidx.annotation.Nullable;
8+
import androidx.appcompat.app.AlertDialog;
9+
import androidx.appcompat.app.AppCompatActivity;
10+
import androidx.appcompat.widget.AppCompatEditText;
11+
import androidx.appcompat.widget.AppCompatImageButton;
12+
import androidx.appcompat.widget.AppCompatTextView;
13+
import androidx.core.app.ActivityCompat;
14+
15+
import com.smartpack.kernelprofiler.R;
16+
import com.smartpack.kernelprofiler.utils.root.RootUtils;
17+
18+
import org.json.JSONException;
19+
import org.json.JSONObject;
20+
21+
/**
22+
* Created by sunilpaulmathew <sunil.kde@gmail.com> on May 28, 2020
23+
*/
24+
25+
public class EditConfigActivity extends AppCompatActivity {
26+
27+
AppCompatEditText mConfigTitleHint;
28+
AppCompatEditText mDescriptionHint;
29+
AppCompatEditText mDefaultHint;
30+
AppCompatEditText mDeveloperHint;
31+
AppCompatEditText mSupportHint;
32+
AppCompatEditText mDonationsHint;
33+
AppCompatTextView mTitle;
34+
35+
@Override
36+
protected void onCreate(@Nullable Bundle savedInstanceState) {
37+
super.onCreate(savedInstanceState);
38+
setContentView(R.layout.activity_createconfig);
39+
40+
AppCompatImageButton mBack = findViewById(R.id.back_button);
41+
mBack.setOnClickListener(v -> onBackPressed());
42+
AppCompatImageButton mSave = findViewById(R.id.save_button);
43+
AppCompatImageButton mCheck = findViewById(R.id.check_button);
44+
mConfigTitleHint = findViewById(R.id.config_title_hint);
45+
if (KP.getCustomTitle() != null) {
46+
mConfigTitleHint.setText(KP.getCustomTitle());
47+
}
48+
mDescriptionHint = findViewById(R.id.config_description_hint);
49+
if (KP.getCustomDescription() != null) {
50+
mDescriptionHint.setText(KP.getCustomDescription());
51+
}
52+
mDefaultHint = findViewById(R.id.default_profile_hint);
53+
if (KP.getDefaultProfile() != null) {
54+
mDefaultHint.setText(KP.getDefaultProfile());
55+
}
56+
mDeveloperHint = findViewById(R.id.developer_hint);
57+
if (KP.getDeveloper() != null) {
58+
mDeveloperHint.setText(KP.getDeveloper());
59+
}
60+
mSupportHint = findViewById(R.id.support_hint);
61+
if (KP.getSupport() != null) {
62+
mSupportHint.setText(KP.getSupport());
63+
}
64+
mDonationsHint = findViewById(R.id.donations_hint);
65+
if (KP.getDonation() != null) {
66+
mDonationsHint.setText(KP.getDonation());
67+
}
68+
mTitle = findViewById(R.id.title);
69+
mTitle.setText(getString(R.string.edit_config));
70+
mSave.setOnClickListener(v -> {
71+
if (Utils.checkWriteStoragePermission(this)) {
72+
if (mConfigTitleHint.getText() != null && !mConfigTitleHint.getText().toString().equals("")) {
73+
new AlertDialog.Builder(this)
74+
.setMessage(getString(R.string.edit_config_message))
75+
.setNegativeButton(getString(R.string.cancel), (dialog1, id1) -> {
76+
})
77+
.setPositiveButton(getString(R.string.ok), (dialog1, id1) -> {
78+
createConfig();
79+
})
80+
.show();
81+
} else {
82+
Utils.snackbar(mTitle, getString(R.string.title_empty_message));
83+
}
84+
} else {
85+
ActivityCompat.requestPermissions(this, new String[]{
86+
Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
87+
Utils.snackbar(mTitle, getString(R.string.storage_access_denied) + " " +
88+
Environment.getExternalStorageDirectory().toString());
89+
}
90+
});
91+
mCheck.setOnClickListener(v -> {
92+
if (mConfigTitleHint.getText() != null && !mConfigTitleHint.getText().toString().equals("") &&
93+
RootUtils.runAndGetOutput("uname -a").contains(mConfigTitleHint.getText())) {
94+
Utils.snackbar(mTitle, getString(R.string.success));
95+
} else {
96+
Utils.snackbar(mTitle, getString(R.string.failed));
97+
}
98+
});
99+
}
100+
101+
private void createConfig() {
102+
try {
103+
JSONObject obj = new JSONObject();
104+
obj.put("title", mConfigTitleHint.getText());
105+
obj.put("description", mDescriptionHint.getText());
106+
obj.put("default", mDefaultHint.getText());
107+
obj.put("developer", mDeveloperHint.getText());
108+
obj.put("support", mSupportHint.getText());
109+
obj.put("donations", mDonationsHint.getText());
110+
Utils.create(obj.toString(), "/data/kernel_profiler/kernelprofiler.json");
111+
Utils.snackbarIndenite(mTitle, getString(R.string.edit_config_saved));
112+
} catch (JSONException ignored) {
113+
}
114+
}
115+
116+
@Override
117+
public void onBackPressed() {
118+
super.onBackPressed();
119+
}
120+
121+
}

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
<string name="donations">Donations</string>
2727
<string name="donation_app">Buy Donation App</string>
2828
<string name="donations_summary">Add donation link here!</string>
29+
<string name="edit_config">Edit Configuration</string>
30+
<string name="edit_config_message">Please Note: You\'re current configuration will be overwritten! Are you sure?</string>
31+
<string name="edit_config_saved">You\'re current configuration file is updated! The changes will be applied on next app launch.</string>
2932
<string name="failed">Failed</string>
3033
<string name="kernel_about">About Kernel</string>
3134
<string name="kernel_support">How to add support in kernel</string>

0 commit comments

Comments
 (0)