From 06f42f864f8c94ef978cc4acdb8d5b383ea028e9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 30 Mar 2018 13:15:41 +0200 Subject: [PATCH] don't crash in "Add Repo" if an invalid URL is given Oops, missed this in 89e04cc078bb96a6999ccc4a42f23800272e2be2 --- .../fdroid/views/ManageReposActivity.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java b/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java index bed9ec62a..9417d3b65 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/ManageReposActivity.java @@ -296,7 +296,7 @@ public class ManageReposActivity extends AppCompatActivity try { url = normalizeUrl(url); } catch (URISyntaxException e) { - invalidUrl(null); + invalidUrl(); return; } @@ -411,7 +411,7 @@ public class ManageReposActivity extends AppCompatActivity } if (repo == null) { - repoDoesntExist(repo); + repoDoesntExist(); } else { if (repo.isSwap) { repoIsSwap(repo); @@ -432,8 +432,8 @@ public class ManageReposActivity extends AppCompatActivity } } - private void repoDoesntExist(Repo repo) { - updateUi(repo, AddRepoState.DOESNT_EXIST, 0, false, R.string.repo_add_add, true); + private void repoDoesntExist() { + updateUi(null, AddRepoState.DOESNT_EXIST, 0, false, R.string.repo_add_add, true); } private void repoIsSwap(Repo repo) { @@ -450,8 +450,8 @@ public class ManageReposActivity extends AppCompatActivity true, R.string.overwrite, false); } - private void invalidUrl(Repo repo) { - updateUi(repo, AddRepoState.INVALID_URL, R.string.invalid_url, true, + private void invalidUrl() { + updateUi(null, AddRepoState.INVALID_URL, R.string.invalid_url, true, R.string.repo_add_add, false); } @@ -480,8 +480,15 @@ public class ManageReposActivity extends AppCompatActivity if (addRepoState != state) { addRepoState = state; + String name; + if (repo == null) { + name = '"' + getString(R.string.unknown) + '"'; + } else { + name = repo.name; + } + if (messageRes > 0) { - overwriteMessage.setText(String.format(getString(messageRes), repo.name)); + overwriteMessage.setText(String.format(getString(messageRes), name)); overwriteMessage.setVisibility(View.VISIBLE); if (redMessage) { overwriteMessage.setTextColor(getResources().getColor(R.color.red));