Use runOnUiThread to show UI toasts
This commit is contained in:
@@ -286,8 +286,7 @@ public class CalendarSyncAdapter extends AbstractThreadedSyncAdapter {
|
|||||||
if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_CALENDAR)) {
|
if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_CALENDAR)) {
|
||||||
Log.d(TAG, "User has permanently denied permission WRITE_CALENDAR, informing him");
|
Log.d(TAG, "User has permanently denied permission WRITE_CALENDAR, informing him");
|
||||||
String hint = context.getString(R.string.calendar_permission_request, "WRITE_CALENDAR");
|
String hint = context.getString(R.string.calendar_permission_request, "WRITE_CALENDAR");
|
||||||
Toast toast = Toast.makeText(context, hint, Toast.LENGTH_SHORT);
|
activity.runOnUiThread(() -> Toast.makeText(context, hint, Toast.LENGTH_SHORT).show());
|
||||||
toast.show();
|
|
||||||
}
|
}
|
||||||
Log.d(TAG, "Ask for permission WRITE_CALENDAR");
|
Log.d(TAG, "Ask for permission WRITE_CALENDAR");
|
||||||
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_CALENDAR}, 0);
|
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_CALENDAR}, 0);
|
||||||
@@ -297,8 +296,7 @@ public class CalendarSyncAdapter extends AbstractThreadedSyncAdapter {
|
|||||||
if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_CALENDAR)) {
|
if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_CALENDAR)) {
|
||||||
Log.d(TAG, "User has permanently denied permission READ_CALENDAR, informing him");
|
Log.d(TAG, "User has permanently denied permission READ_CALENDAR, informing him");
|
||||||
String hint = context.getString(R.string.calendar_permission_request, "READ_CALENDAR");
|
String hint = context.getString(R.string.calendar_permission_request, "READ_CALENDAR");
|
||||||
Toast toast = Toast.makeText(context, hint, Toast.LENGTH_SHORT);
|
activity.runOnUiThread(() -> Toast.makeText(context, hint, Toast.LENGTH_SHORT).show());
|
||||||
toast.show();
|
|
||||||
}
|
}
|
||||||
Log.d(TAG, "Ask for permission READ_CALENDAR");
|
Log.d(TAG, "Ask for permission READ_CALENDAR");
|
||||||
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_CALENDAR}, 0);
|
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_CALENDAR}, 0);
|
||||||
|
|||||||
@@ -358,26 +358,30 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
private void runSynchronizationWithServer() {
|
private void runSynchronizationWithServer() {
|
||||||
int filesCount;
|
int filesCount;
|
||||||
try {
|
try {
|
||||||
filesCount = synchronizeWikiClient.synchronizeRepository(this::showProgressBar);
|
filesCount = synchronizeWikiClient.synchronizeRepository(this::syncProgress);
|
||||||
} catch (ServiceException e) {
|
} catch (ServiceException e) {
|
||||||
Log.e(TAG, "Error synchronizing repository with server", e);
|
Log.e(TAG, "Error synchronizing repository with server", e);
|
||||||
showToast(getString(R.string.settings_synchronize_failed));
|
runOnUiThread(() -> showToast(getString(R.string.settings_synchronize_failed)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filesCount > 0) {
|
if (filesCount > 0) {
|
||||||
showToast(getString(R.string.settings_synchronize_successful, filesCount));
|
runOnUiThread(() -> showToast(getString(R.string.settings_synchronize_successful, filesCount)));
|
||||||
|
|
||||||
WikiEngineApplication app = (WikiEngineApplication) getApplication();
|
WikiEngineApplication app = (WikiEngineApplication) getApplication();
|
||||||
app.resetServices();
|
app.resetServices();
|
||||||
|
|
||||||
CalendarSyncAdapter.requestCalendarSync(this);
|
CalendarSyncAdapter.requestCalendarSync(this);
|
||||||
} else {
|
} else {
|
||||||
showToast(getString(R.string.settings_synchronize_not_necessary));
|
runOnUiThread(() -> showToast(getString(R.string.settings_synchronize_not_necessary)));
|
||||||
}
|
}
|
||||||
|
|
||||||
hideProgressBar();
|
runOnUiThread(this::hideProgressBar);
|
||||||
updateLayoutVisibility();
|
runOnUiThread(this::updateLayoutVisibility);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void syncProgress(int progress, int max) {
|
||||||
|
runOnUiThread(() -> showProgressBar(progress, max));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user