From 209f1ec4a5c5f41b2eece9031ada4afc6ed40c8a Mon Sep 17 00:00:00 2001 From: Vavassor Date: Wed, 5 Apr 2017 15:10:52 -0400 Subject: [PATCH] Introduces a redirect guard so share requests and quick settings tile compose requests when not logged in will give a login page instead of crashing. --- .../java/com/keylesspalace/tusky/BaseActivity.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/com/keylesspalace/tusky/BaseActivity.java b/app/src/main/java/com/keylesspalace/tusky/BaseActivity.java index b09c0fc2..f27cabfb 100644 --- a/app/src/main/java/com/keylesspalace/tusky/BaseActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/BaseActivity.java @@ -61,6 +61,7 @@ public class BaseActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + redirectIfNotLoggedIn(); createMastodonAPI(); createTuskyAPI(); @@ -153,6 +154,19 @@ public class BaseActivity extends AppCompatActivity { tuskyAPI = retrofit.create(TuskyAPI.class); } + protected void redirectIfNotLoggedIn() { + SharedPreferences preferences = getSharedPreferences( + getString(R.string.preferences_file_key), Context.MODE_PRIVATE); + String domain = preferences.getString("domain", null); + String accessToken = preferences.getString("accessToken", null); + if (domain != null && accessToken != null) { + Intent intent = new Intent(this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + finish(); + } + } + @Override public boolean onCreateOptionsMenu(Menu menu) { TypedValue value = new TypedValue();