1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-12-23 11:21:29 +00:00

Revert "Use Runnable instead of AsyncTask to poll for syncthing web gui (fixes #41)."

This reverts commit a215e30098.
This commit is contained in:
Felix Ableitner 2014-06-22 18:12:31 +02:00
parent b3218c3c2f
commit 5ba80e5bfa
2 changed files with 8 additions and 11 deletions

View file

@ -99,12 +99,7 @@ public class WebGuiActivity extends Activity implements SyncthingService.OnWebGu
*/ */
@Override @Override
public void onWebGuiAvailable() { public void onWebGuiAvailable() {
runOnUiThread(new Runnable() { mWebView.loadUrl(mSyncthingService.getApi().getUrl());
@Override
public void run() {
mWebView.loadUrl(mSyncthingService.getApi().getUrl());
}
});
} }
@Override @Override

View file

@ -200,9 +200,9 @@ public class SyncthingService extends Service {
* Polls SYNCTHING_URL until it returns HTTP status OK, then calls all listeners * Polls SYNCTHING_URL until it returns HTTP status OK, then calls all listeners
* in mOnWebGuiAvailableListeners and clears it. * in mOnWebGuiAvailableListeners and clears it.
*/ */
private class PollWebGuiAvailableRunnable implements Runnable { private class PollWebGuiAvailableTask extends AsyncTask<Void, Void, Void> {
@Override @Override
public void run() { protected Void doInBackground(Void... voids) {
int status = 0; int status = 0;
HttpClient httpclient = new DefaultHttpClient(); HttpClient httpclient = new DefaultHttpClient();
HttpHead head = new HttpHead(mApi.getUrl()); HttpHead head = new HttpHead(mApi.getUrl());
@ -225,7 +225,11 @@ public class SyncthingService extends Service {
Log.w(TAG, "Failed to poll for web interface", e); Log.w(TAG, "Failed to poll for web interface", e);
} }
} while(status != HttpStatus.SC_OK); } while(status != HttpStatus.SC_OK);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
Log.i(TAG, "Web GUI has come online at " + mApi.getUrl()); Log.i(TAG, "Web GUI has come online at " + mApi.getUrl());
mIsWebGuiAvailable = true; mIsWebGuiAvailable = true;
for (OnWebGuiAvailableListener listener : mOnWebGuiAvailableListeners) { for (OnWebGuiAvailableListener listener : mOnWebGuiAvailableListeners) {
@ -328,7 +332,7 @@ public class SyncthingService extends Service {
new PostTask().execute(mApi.getUrl(), PostTask.URI_SHUTDOWN, apiKey); new PostTask().execute(mApi.getUrl(), PostTask.URI_SHUTDOWN, apiKey);
registerOnWebGuiAvailableListener(mApi); registerOnWebGuiAvailableListener(mApi);
} }
new Thread(new PollWebGuiAvailableRunnable()).start(); new PollWebGuiAvailableTask().execute();
runNative(); runNative();
} }
}).start(); }).start();
@ -358,8 +362,6 @@ public class SyncthingService extends Service {
* *
* If the web gui is already available, listener will be called immediately. * If the web gui is already available, listener will be called immediately.
* Listeners are unregistered automatically after being called. * Listeners are unregistered automatically after being called.
*
* Note that the listener might be called on a background thread.
*/ */
public void registerOnWebGuiAvailableListener(OnWebGuiAvailableListener listener) { public void registerOnWebGuiAvailableListener(OnWebGuiAvailableListener listener) {
if (mIsWebGuiAvailable) { if (mIsWebGuiAvailable) {