diff --git a/catroid/build.gradle b/catroid/build.gradle index 7c16559296b..d898fc672ab 100644 --- a/catroid/build.gradle +++ b/catroid/build.gradle @@ -186,9 +186,9 @@ android { targetSdkVersion 26 applicationId appId testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' - versionCode 60 + versionCode 61 println "VersionCode is $versionCode" - versionName "0.9.58" + versionName "0.9.60" println "VersionName is $versionName" buildConfigField "String", "GIT_COMMIT_INFO", "\"${getGitCommitInfo()}\"" buildConfigField "String", "MAIN_URL_HTTPS", (project.hasProperty('useWebTest') ? '"https://web-test.catrob.at"' : '"https://share.catrob.at"') diff --git a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/activity/ProjectUploadActivity.java b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/activity/ProjectUploadActivity.java index e65026d03a4..bcd8e635c85 100644 --- a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/activity/ProjectUploadActivity.java +++ b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/activity/ProjectUploadActivity.java @@ -279,6 +279,8 @@ private void showProgressDialogAndUploadProject() { final int notificationId = StatusBarNotificationManager.getInstance() .createUploadNotification(this, name); + UploadStatusPollingTask uploadStatusPollingTask = new UploadStatusPollingTask(); + uploadProgressDialog = new AlertDialog.Builder(this) .setTitle(getString(R.string.upload_project_dialog_title)) .setView(R.layout.dialog_upload_project_progress) @@ -286,6 +288,7 @@ private void showProgressDialogAndUploadProject() { .setNegativeButton(R.string.done, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { + uploadStatusPollingTask.cancel(false); finish(); } }) @@ -306,8 +309,7 @@ public void onClick(DialogInterface dialog, int which) { startService(intent); - new UploadStatusPollingTask() - .execute(); + uploadStatusPollingTask.execute(); int numberOfUploadedProjects = sharedPreferences.getInt(NUMBER_OF_UPLOADED_PROJECTS, 0) + 1; sharedPreferences.edit() @@ -418,6 +420,9 @@ private class UploadStatusPollingTask extends AsyncTask { @Override protected Void doInBackground(Void... voids) { while (StatusBarNotificationManager.getInstance().getProgressPercent() != 100) { + if (isCancelled()) { + break; + } try { Thread.sleep(100); } catch (InterruptedException e) { diff --git a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/ProjectListFragment.java b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/ProjectListFragment.java index 493ac81789b..5da805821d0 100644 --- a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/ProjectListFragment.java +++ b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/ProjectListFragment.java @@ -319,6 +319,9 @@ public void renameItem(ProjectData item, String name) { @Override public void onLoadFinished(boolean success) { + if (getActivity() == null) { + return; + } if (success) { Intent intent = new Intent(getActivity(), ProjectActivity.class); intent.putExtra(ProjectActivity.EXTRA_FRAGMENT_POSITION, ProjectActivity.FRAGMENT_SCENES);