Skip to content

Commit eb57851

Browse files
committed
Fixed the Restore project Issue #175.
1 parent 9a714e8 commit eb57851

1 file changed

Lines changed: 46 additions & 27 deletions

File tree

source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/SettingsFragment.java

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import android.net.Uri;
1010
import android.os.AsyncTask;
1111
import android.os.Bundle;
12+
import android.os.Handler;
13+
import android.os.Looper;
1214
import android.preference.Preference;
1315
import android.preference.PreferenceFragment;
1416
import android.preference.PreferenceManager;
@@ -181,42 +183,59 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
181183
RestoreThread restore = new RestoreThread(getActivity(), inputStream);
182184

183185
restore.setRestoreListener(new RestoreThread.OnRestoreComplete() {
186+
Handler mHandler =new Handler(Looper.getMainLooper());
184187
@Override
185-
public void onSuccess(File assetFile) {
186-
processDialog.dismiss();
187-
Intent intentProject = new Intent(getActivity(), DeepLinkerActivity.class);
188-
intentProject.setData(Uri.fromFile(assetFile));
189-
getActivity().startActivity(intentProject);
188+
public void
189+
onSuccess(final File assetFile) {
190+
mHandler.post(new Runnable() {
191+
@Override
192+
public void run() {
193+
processDialog.dismiss();
194+
Intent intentProject = new Intent(getActivity(), DeepLinkerActivity.class);
195+
intentProject.setData(Uri.fromFile(assetFile));
196+
getActivity().startActivity(intentProject);
197+
}
198+
});
190199
}
191200

192201
@Override
193202
public void onFail() {
194-
processDialog.dismiss();
195-
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
196-
.setTitle(R.string.dialog_restore_title)
197-
.setMessage(R.string.dialog_restore_failed)
198-
.setPositiveButton(R.string.info_template_ok, new DialogInterface.OnClickListener() {
199-
@Override
200-
public void onClick(DialogInterface dialog, int which) {
201-
dialog.dismiss();
202-
}
203-
}).create();
204-
dialog.show();
203+
mHandler.post(new Runnable() {
204+
@Override
205+
public void run() {
206+
processDialog.dismiss();
207+
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
208+
.setTitle(R.string.dialog_restore_title)
209+
.setMessage(R.string.dialog_restore_failed)
210+
.setPositiveButton(R.string.info_template_ok, new DialogInterface.OnClickListener() {
211+
@Override
212+
public void onClick(DialogInterface dialog, int which) {
213+
dialog.dismiss();
214+
}
215+
}).create();
216+
dialog.show();
217+
}
218+
});
205219
}
206220

207221
@Override
208222
public void onFail(Exception e) {
209-
processDialog.dismiss();
210-
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
211-
.setTitle(R.string.dialog_restore_title)
212-
.setMessage(R.string.dialog_restore_failed)
213-
.setPositiveButton(R.string.info_template_ok, new DialogInterface.OnClickListener() {
214-
@Override
215-
public void onClick(DialogInterface dialog, int which) {
216-
dialog.dismiss();
217-
}
218-
}).create();
219-
dialog.show();
223+
mHandler.post(new Runnable() {
224+
@Override
225+
public void run() {
226+
processDialog.dismiss();
227+
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
228+
.setTitle(R.string.dialog_restore_title)
229+
.setMessage(R.string.dialog_restore_failed)
230+
.setPositiveButton(R.string.info_template_ok, new DialogInterface.OnClickListener() {
231+
@Override
232+
public void onClick(DialogInterface dialog, int which) {
233+
dialog.dismiss();
234+
}
235+
}).create();
236+
dialog.show();
237+
}
238+
});
220239
}
221240
});
222241

0 commit comments

Comments
 (0)