Skip to content

Commit 1889b4d

Browse files
committed
Optimize code
1 parent c52711e commit 1889b4d

File tree

2 files changed

+100
-101
lines changed

2 files changed

+100
-101
lines changed

app/src/main/java/xzr/hkf/MainActivity.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,31 @@ public class MainActivity extends Activity {
1616

1717
TextView logView;
1818
ScrollView scrollView;
19-
enum status{
19+
20+
enum status {
2021
flashing,
2122
flashing_done,
2223
error,
2324
normal
2425
}
26+
2527
static status cur_status;
28+
2629
@Override
2730
protected void onCreate(Bundle savedInstanceState) {
2831
super.onCreate(savedInstanceState);
29-
scrollView=new ScrollView(this);
30-
logView=new TextView(this);
32+
scrollView = new ScrollView(this);
33+
logView = new TextView(this);
3134
logView.setTextIsSelectable(true);
3235
scrollView.addView(logView);
3336
setContentView(scrollView);
3437

3538
flash_new();
3639
}
3740

38-
void update_title(){
41+
void update_title() {
3942
runOnUiThread(() -> {
40-
switch (cur_status){
43+
switch (cur_status) {
4144
case error:
4245
setTitle(R.string.failed);
4346
break;
@@ -53,22 +56,22 @@ void update_title(){
5356
});
5457
}
5558

56-
void flash_new(){
57-
if(cur_status== MainActivity.status.flashing){
58-
Toast.makeText(this,R.string.task_running,Toast.LENGTH_SHORT).show();
59+
void flash_new() {
60+
if (cur_status == MainActivity.status.flashing) {
61+
Toast.makeText(this, R.string.task_running, Toast.LENGTH_SHORT).show();
5962
return;
6063
}
6164

6265
logView.setText("");
63-
cur_status=status.normal;
66+
cur_status = status.normal;
6467
update_title();
65-
Toast.makeText(this,R.string.please_select_kzip,Toast.LENGTH_LONG).show();
68+
Toast.makeText(this, R.string.please_select_kzip, Toast.LENGTH_LONG).show();
6669
runWithFilePath(this, new Worker(this));
6770
}
6871

6972
@Override
7073
public void onBackPressed() {
71-
if(cur_status!=status.flashing)
74+
if (cur_status != status.flashing)
7275
super.onBackPressed();
7376
}
7477

@@ -89,38 +92,38 @@ public boolean onOptionsItemSelected(MenuItem item) {
8992
setAction(Intent.ACTION_VIEW);
9093
setData(Uri.parse("https://github.com/xzr467706992/HorizonKernelFlasher"));
9194
}})).create().show();
92-
}
93-
else if(item.getItemId()==R.id.flash_new){
95+
} else if (item.getItemId() == R.id.flash_new) {
9496
flash_new();
9597
}
9698
return true;
9799
}
98100

99-
public static void _appendLog(String log, Activity activity){
101+
public static void _appendLog(String log, Activity activity) {
100102
activity.runOnUiThread(() -> {
101-
((MainActivity) activity).logView.append(log+"\n");
102-
((MainActivity)activity).scrollView.fullScroll(ScrollView.FOCUS_DOWN);
103+
((MainActivity) activity).logView.append(log + "\n");
104+
((MainActivity) activity).scrollView.fullScroll(ScrollView.FOCUS_DOWN);
103105
});
104106
}
105107

106-
public static void appendLog(String log, Activity activity){
107-
if(DEBUG) {
108-
_appendLog(log,activity);
108+
public static void appendLog(String log, Activity activity) {
109+
if (DEBUG) {
110+
_appendLog(log, activity);
109111
return;
110112
}
111-
if(!log.startsWith("ui_print"))
113+
if (!log.startsWith("ui_print"))
112114
return;
113-
log=log.replace("ui_print","");
114-
_appendLog(log,activity);
115+
log = log.replace("ui_print", "");
116+
_appendLog(log, activity);
115117
}
116118

117-
static class fileWorker extends Thread{
119+
static class fileWorker extends Thread {
118120
public Uri uri;
119121
}
120122

121123
private static fileWorker file_worker;
122-
public static void runWithFilePath(Activity activity,fileWorker what){
123-
MainActivity.file_worker=what;
124+
125+
public static void runWithFilePath(Activity activity, fileWorker what) {
126+
MainActivity.file_worker = what;
124127
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
125128
intent.setType("*/*");
126129
intent.addCategory(Intent.CATEGORY_OPENABLE);
@@ -132,9 +135,9 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
132135
super.onActivityResult(requestCode, resultCode, data);
133136
if (resultCode == Activity.RESULT_OK) {
134137
file_worker.uri = data.getData();
135-
if(file_worker!=null) {
138+
if (file_worker != null) {
136139
file_worker.start();
137-
file_worker=null;
140+
file_worker = null;
138141
}
139142
}
140143
}

app/src/main/java/xzr/hkf/Worker.java

Lines changed: 70 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -12,68 +12,70 @@
1212
import java.io.InputStreamReader;
1313
import java.io.OutputStreamWriter;
1414

15-
public class Worker extends MainActivity.fileWorker{
15+
public class Worker extends MainActivity.fileWorker {
1616
Activity activity;
1717
String file_path;
1818
String binary_path;
1919
boolean is_error;
20-
public Worker(Activity activity){
21-
this.activity=activity;
20+
21+
public Worker(Activity activity) {
22+
this.activity = activity;
2223
}
23-
public void run(){
24-
MainActivity.cur_status= MainActivity.status.flashing;
25-
((MainActivity)activity).update_title();
26-
is_error=false;
27-
file_path=activity.getFilesDir().getAbsolutePath()+"/anykernel.zip";
28-
binary_path=activity.getFilesDir()+"/META-INF/com/google/android/update-binary";
24+
25+
public void run() {
26+
MainActivity.cur_status = MainActivity.status.flashing;
27+
((MainActivity) activity).update_title();
28+
is_error = false;
29+
file_path = activity.getFilesDir().getAbsolutePath() + "/anykernel.zip";
30+
binary_path = activity.getFilesDir().getAbsolutePath() + "/META-INF/com/google/android/update-binary";
2931

3032
try {
3133
cleanup();
3234
} catch (IOException ioException) {
33-
is_error=true;
35+
is_error = true;
3436
}
35-
if(is_error){
36-
MainActivity._appendLog(activity.getResources().getString(R.string.unable_cleanup),activity);
37-
MainActivity.cur_status= MainActivity.status.error;
38-
((MainActivity)activity).update_title();
37+
if (is_error) {
38+
MainActivity._appendLog(activity.getResources().getString(R.string.unable_cleanup), activity);
39+
MainActivity.cur_status = MainActivity.status.error;
40+
((MainActivity) activity).update_title();
3941
return;
4042
}
4143

42-
try{
44+
try {
4345
copy();
44-
}catch (IOException ioException){
45-
is_error=true;
46+
} catch (IOException ioException) {
47+
is_error = true;
4648
}
47-
if(!is_error)
48-
is_error=!new File(file_path).exists();
49-
if(is_error){
50-
MainActivity._appendLog(activity.getResources().getString(R.string.unable_copy),activity);
51-
MainActivity.cur_status= MainActivity.status.error;
52-
((MainActivity)activity).update_title();
49+
if (!is_error)
50+
is_error = !new File(file_path).exists();
51+
if (is_error) {
52+
MainActivity._appendLog(activity.getResources().getString(R.string.unable_copy), activity);
53+
MainActivity.cur_status = MainActivity.status.error;
54+
((MainActivity) activity).update_title();
5355
return;
5456
}
5557

56-
try{
58+
try {
5759
getBinary();
58-
}catch (IOException ioException){
59-
is_error=true;
60+
} catch (IOException ioException) {
61+
is_error = true;
6062
}
61-
if(is_error){
63+
if (is_error) {
6264
MainActivity._appendLog(activity.getResources().getString(R.string.unable_get_exe), activity);
63-
MainActivity.cur_status= MainActivity.status.error;
64-
((MainActivity)activity).update_title();
65+
MainActivity.cur_status = MainActivity.status.error;
66+
((MainActivity) activity).update_title();
6567
return;
6668
}
6769

68-
try{
70+
try {
6971
flash(activity);
70-
}catch (IOException ioException){
71-
is_error=true;
72+
} catch (IOException ioException) {
73+
is_error = true;
7274
}
73-
if(is_error){
75+
if (is_error) {
7476
MainActivity._appendLog(activity.getResources().getString(R.string.unable_flash_root), activity);
75-
MainActivity.cur_status= MainActivity.status.error;
76-
((MainActivity)activity).update_title();
77+
MainActivity.cur_status = MainActivity.status.error;
78+
((MainActivity) activity).update_title();
7779
return;
7880
}
7981
activity.runOnUiThread(() -> {
@@ -85,22 +87,22 @@ public void run(){
8587
try {
8688
reboot();
8789
} catch (IOException e) {
88-
Toast.makeText(activity,R.string.failed_reboot,Toast.LENGTH_SHORT).show();
90+
Toast.makeText(activity, R.string.failed_reboot, Toast.LENGTH_SHORT).show();
8991
}
9092
})
91-
.setNegativeButton(R.string.no,null)
93+
.setNegativeButton(R.string.no, null)
9294
.create().show();
9395
});
94-
MainActivity.cur_status= MainActivity.status.flashing_done;
95-
((MainActivity)activity).update_title();
96+
MainActivity.cur_status = MainActivity.status.flashing_done;
97+
((MainActivity) activity).update_title();
9698
}
9799

98100
void copy() throws IOException {
99101
InputStream inputStream = activity.getContentResolver().openInputStream(uri);
100102
FileOutputStream fileOutputStream = new FileOutputStream(new File(file_path));
101103
byte[] buffer = new byte[1024];
102-
int count=0;
103-
while((count=inputStream.read(buffer))!=-1) {
104+
int count = 0;
105+
while ((count = inputStream.read(buffer)) != -1) {
104106
fileOutputStream.write(buffer, 0, count);
105107
}
106108
fileOutputStream.flush();
@@ -109,58 +111,52 @@ void copy() throws IOException {
109111
}
110112

111113
void getBinary() throws IOException {
112-
Process process=new ProcessBuilder("sh").start();
113-
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream()));
114-
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(process.getOutputStream());
115-
outputStreamWriter.write("unzip "+file_path+" \"*/update-binary\" -d "+activity.getFilesDir()+"\nexit\n");
116-
outputStreamWriter.flush();
117-
while (bufferedReader.readLine()!=null){}
118-
bufferedReader.close();
119-
outputStreamWriter.close();
120-
process.destroy();
121-
if(!new File(binary_path).exists())
114+
runWithNewProcessNoReturn(false, "unzip " + file_path + " \"*/update-binary\" -d " + activity.getFilesDir().getAbsolutePath());
115+
if (!new File(binary_path).exists())
122116
throw new IOException();
123117
}
124118

125119
void flash(Activity activity) throws IOException {
126-
Process process=new ProcessBuilder("su").redirectErrorStream(true).start();
127-
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(process.getOutputStream());
128-
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream()));
129-
outputStreamWriter.write("export POSTINSTALL="+activity.getFilesDir()+"\n");
130-
outputStreamWriter.write("sh "+(MainActivity.DEBUG?"-x ":"")+binary_path+" 3 1 "+file_path+"&& touch "+activity.getFilesDir()+"/done\nexit\n");
120+
Process process = new ProcessBuilder("su").redirectErrorStream(true).start();
121+
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(process.getOutputStream());
122+
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
123+
outputStreamWriter.write("export POSTINSTALL=" + activity.getFilesDir().getAbsolutePath() + "\n");
124+
outputStreamWriter.write("sh " + (MainActivity.DEBUG ? "-x " : "") + binary_path + " 3 1 " + file_path + "&& touch " + activity.getFilesDir().getAbsolutePath() + "/done\nexit\n");
131125
outputStreamWriter.flush();
132126
String line;
133-
while((line=bufferedReader.readLine())!=null)
134-
MainActivity.appendLog(line,activity);
127+
while ((line = bufferedReader.readLine()) != null)
128+
MainActivity.appendLog(line, activity);
135129

136130
bufferedReader.close();
137131
outputStreamWriter.close();
138132
process.destroy();
139133

140-
if(!new File(activity.getFilesDir()+"/done").exists())
134+
if (!new File(activity.getFilesDir().getAbsolutePath() + "/done").exists())
141135
throw new IOException();
142136
}
143137

144138
void cleanup() throws IOException {
145-
Process process=new ProcessBuilder("sh").start();
146-
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream()));
147-
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(process.getOutputStream());
148-
outputStreamWriter.write("rm -rf "+activity.getFilesDir()+"/*\nexit\n");
149-
outputStreamWriter.flush();
150-
while (bufferedReader.readLine()!=null){}
151-
bufferedReader.close();
152-
outputStreamWriter.close();
153-
process.destroy();
139+
runWithNewProcessNoReturn(false, "rm -rf " + activity.getFilesDir().getAbsolutePath() + "/*");
140+
}
141+
142+
void reboot() throws IOException {
143+
runWithNewProcessNoReturn(true, "svc power reboot");
154144
}
155145

156-
void reboot() throws IOException{
157-
Process process=new ProcessBuilder("su").redirectErrorStream(true).start();
158-
OutputStreamWriter outputStreamWriter=new OutputStreamWriter((process.getOutputStream()));
159-
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream()));
160-
outputStreamWriter.write("svc power reboot\n");
146+
void runWithNewProcessNoReturn(boolean su, String cmd) throws IOException {
147+
Process process = null;
148+
if (su) {
149+
process = new ProcessBuilder("su").redirectErrorStream(true).start();
150+
} else {
151+
process = new ProcessBuilder("sh").redirectErrorStream(true).start();
152+
}
153+
OutputStreamWriter outputStreamWriter = new OutputStreamWriter((process.getOutputStream()));
154+
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
155+
outputStreamWriter.write(cmd + "\n");
161156
outputStreamWriter.write("exit\n");
162157
outputStreamWriter.flush();
163-
while(bufferedReader.readLine()!=null){}
158+
while (bufferedReader.readLine() != null) {
159+
}
164160
outputStreamWriter.close();
165161
bufferedReader.close();
166162
process.destroy();

0 commit comments

Comments
 (0)