Better lifetimes still in the Java code, and turn on some strict vm policy messages.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4414 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
parent
59b2ffaf95
commit
d96b836bef
@ -41,10 +41,14 @@ public class MainActivity extends Activity {
|
||||
WebView web_view;
|
||||
String base_url;
|
||||
Process process;
|
||||
WatchService watcher;
|
||||
Thread thread;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
|
||||
.detectLeakedClosableObjects()
|
||||
.penaltyLog()
|
||||
.build());
|
||||
super.onCreate(savedInstanceState);
|
||||
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.activity_main);
|
||||
@ -55,8 +59,7 @@ public class MainActivity extends Activity {
|
||||
Log.w("tildefriends", String.format("getPackageResourcePath() is %s", getPackageResourcePath().toString()));
|
||||
Log.w("tildefriends", String.format("os.arch is %s", arch));
|
||||
|
||||
try {
|
||||
ZipInputStream zip = new ZipInputStream(new BufferedInputStream(new FileInputStream(getPackageResourcePath().toString())));
|
||||
try (ZipInputStream zip = new ZipInputStream(new BufferedInputStream(new FileInputStream(getPackageResourcePath().toString())))) {
|
||||
ZipEntry entry = null;
|
||||
String lookup = String.format("bin/%s/tildefriends", arch);
|
||||
Log.w("tildefriends", "Looking for " + lookup);
|
||||
@ -71,7 +74,6 @@ public class MainActivity extends Activity {
|
||||
}
|
||||
out.close();
|
||||
new File(getFilesDir().toString() + "/tildefriends").setExecutable(true);
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
zip.closeEntry();
|
||||
@ -89,12 +91,11 @@ public class MainActivity extends Activity {
|
||||
|
||||
MainActivity activity = this;
|
||||
|
||||
new Thread(new Runnable() {
|
||||
thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Log.w("tildefriends", "Watching for changes in: " + getFilesDir().toString());
|
||||
watcher = FileSystems.getDefault().newWatchService();
|
||||
try (WatchService watcher = FileSystems.getDefault().newWatchService()) {
|
||||
Paths.get(getFilesDir().toString()).register(
|
||||
watcher,
|
||||
StandardWatchEventKinds.ENTRY_CREATE,
|
||||
@ -108,8 +109,6 @@ public class MainActivity extends Activity {
|
||||
activity.runOnUiThread(() -> {
|
||||
web_view.loadUrl(base_url);
|
||||
});
|
||||
watcher.close();
|
||||
watcher = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -124,7 +123,8 @@ public class MainActivity extends Activity {
|
||||
Log.w("tildefriends", "InterruptedException: " + e.toString());
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
});
|
||||
thread.start();
|
||||
|
||||
String exe = getFilesDir().toString() + "/tildefriends";
|
||||
ProcessBuilder builder = new ProcessBuilder(exe, "run", "-z", getPackageResourcePath().toString(), "-a", "out_http_port_file=" + port_file_path, "-p", "0");
|
||||
@ -237,21 +237,12 @@ public class MainActivity extends Activity {
|
||||
}
|
||||
|
||||
private int read_port(String path) {
|
||||
BufferedReader reader = null;
|
||||
try {
|
||||
reader = new BufferedReader(new FileReader(path));
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader(path))) {
|
||||
return Integer.parseInt(reader.readLine());
|
||||
} catch (java.io.FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (java.io.IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (reader != null) {
|
||||
reader.close();
|
||||
}
|
||||
} catch (java.io.IOException e) {
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user