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:
		| @@ -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(); | ||||
| 				Log.w("tildefriends", "Watching for changes in: " + getFilesDir().toString()); | ||||
| 				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; | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user