mirror of
https://github.com/syncthing/syncthing-android.git
synced 2025-01-11 04:25:53 +00:00
Clean up config import code.
This commit is contained in:
parent
91bd271302
commit
d88828be82
3 changed files with 14 additions and 20 deletions
|
@ -1,9 +1,5 @@
|
||||||
package com.nutomic.syncthingandroid.fragments;
|
package com.nutomic.syncthingandroid.fragments;
|
||||||
|
|
||||||
import android.app.AlarmManager;
|
|
||||||
import android.app.PendingIntent;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -20,7 +16,6 @@ import android.view.MenuItem;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.nutomic.syncthingandroid.R;
|
import com.nutomic.syncthingandroid.R;
|
||||||
import com.nutomic.syncthingandroid.activities.MainActivity;
|
|
||||||
import com.nutomic.syncthingandroid.activities.SyncthingActivity;
|
import com.nutomic.syncthingandroid.activities.SyncthingActivity;
|
||||||
import com.nutomic.syncthingandroid.syncthing.RestApi;
|
import com.nutomic.syncthingandroid.syncthing.RestApi;
|
||||||
import com.nutomic.syncthingandroid.syncthing.SyncthingService;
|
import com.nutomic.syncthingandroid.syncthing.SyncthingService;
|
||||||
|
@ -290,16 +285,7 @@ public class SettingsFragment extends PreferenceFragment
|
||||||
if (mSyncthingService.importConfig()) {
|
if (mSyncthingService.importConfig()) {
|
||||||
Toast.makeText(getActivity(), getString(R.string.config_imported_successful),
|
Toast.makeText(getActivity(), getString(R.string.config_imported_successful),
|
||||||
Toast.LENGTH_SHORT).show();
|
Toast.LENGTH_SHORT).show();
|
||||||
// Restart application because API key changed
|
mSyncthingService.getApi().requireRestart(getActivity(), false);
|
||||||
// TODO Should be nicer
|
|
||||||
Intent mStartActivity = new Intent(this.getActivity(), MainActivity.class);
|
|
||||||
int mPendingIntentId = 838465;
|
|
||||||
PendingIntent mPendingIntent = PendingIntent.getActivity(this.getActivity(),
|
|
||||||
mPendingIntentId,
|
|
||||||
mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
|
|
||||||
AlarmManager mgr = (AlarmManager)this.getActivity().getSystemService(Context.ALARM_SERVICE);
|
|
||||||
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
|
|
||||||
System.exit(0);
|
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(getActivity(), getString(R.string.config_import_failed,
|
Toast.makeText(getActivity(), getString(R.string.config_import_failed,
|
||||||
SyncthingService.EXPORT_PATH), Toast.LENGTH_LONG).show();
|
SyncthingService.EXPORT_PATH), Toast.LENGTH_LONG).show();
|
||||||
|
|
|
@ -338,13 +338,24 @@ public class RestApi implements SyncthingService.OnWebGuiAvailableListener,
|
||||||
}
|
}
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void requireRestart(Activity activity) {
|
||||||
|
requireRestart(activity, true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the updated mConfig via Rest API to syncthing and displays a "restart"
|
* Sends the updated mConfig via Rest API to syncthing and displays a "restart"
|
||||||
* dialog or notification.
|
* dialog or notification.
|
||||||
|
*
|
||||||
|
* @param activity The calling activity.
|
||||||
|
* @param updateConfig If true, {@link #mConfig} will be sent to `/rest/system/config`.
|
||||||
*/
|
*/
|
||||||
@TargetApi(11)
|
@TargetApi(11)
|
||||||
public void requireRestart(Activity activity) {
|
public void requireRestart(Activity activity, boolean updateConfig) {
|
||||||
new PostTask(mHttpsCertPath).execute(mUrl, PostTask.URI_CONFIG, mApiKey, mConfig.toString());
|
if (updateConfig) {
|
||||||
|
new PostTask(mHttpsCertPath)
|
||||||
|
.execute(mUrl, PostTask.URI_CONFIG, mApiKey, mConfig.toString());
|
||||||
|
}
|
||||||
// TODO Should wait for completion...
|
// TODO Should wait for completion...
|
||||||
|
|
||||||
if (mRestartPostponed)
|
if (mRestartPostponed)
|
||||||
|
|
|
@ -513,9 +513,6 @@ public class SyncthingService extends Service {
|
||||||
copyFile(config, new File(getFilesDir(), ConfigXml.CONFIG_FILE));
|
copyFile(config, new File(getFilesDir(), ConfigXml.CONFIG_FILE));
|
||||||
copyFile(privateKey, new File(getFilesDir(), PRIVATE_KEY_FILE));
|
copyFile(privateKey, new File(getFilesDir(), PRIVATE_KEY_FILE));
|
||||||
copyFile(publicKey, new File(getFilesDir(), PUBLIC_KEY_FILE));
|
copyFile(publicKey, new File(getFilesDir(), PUBLIC_KEY_FILE));
|
||||||
|
|
||||||
startService(new Intent(this, SyncthingService.class)
|
|
||||||
.setAction(SyncthingService.ACTION_RESTART));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue