From 46f1cc788bae67337dc6e24e36d881e2bdd2dfc2 Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Mon, 6 Feb 2023 18:55:09 +0100 Subject: [PATCH] login bug fix, version upgrade --- app/build.gradle | 4 ++-- .../twidda/backend/helper/ConnectionConfig.java | 5 ++--- .../twidda/ui/activities/LoginActivity.java | 14 ++++++++++---- .../twidda/ui/dialogs/ConnectionDialog.java | 4 +++- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fe340fe98f..e94e40b6c5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId 'org.nuclearfog.twidda' minSdkVersion 21 targetSdkVersion 33 - versionCode 71 - versionName '3.0.3' + versionCode 72 + versionName '3.0.4' resConfigs 'en', 'de-rDE', 'zh-rCN' } diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/helper/ConnectionConfig.java b/app/src/main/java/org/nuclearfog/twidda/backend/helper/ConnectionConfig.java index 6dc56a222c..af30c21eec 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/helper/ConnectionConfig.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/helper/ConnectionConfig.java @@ -30,13 +30,12 @@ public class ConnectionConfig { private int apiType; /** - * @param apiType default API type */ - public ConnectionConfig(int apiType) { + public ConnectionConfig() { hostname = ""; consumerKey = ""; consumerSecret = ""; - this.apiType = apiType; + apiType = -1; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/activities/LoginActivity.java b/app/src/main/java/org/nuclearfog/twidda/ui/activities/LoginActivity.java index 3f85cd6ede..173c3a2234 100644 --- a/app/src/main/java/org/nuclearfog/twidda/ui/activities/LoginActivity.java +++ b/app/src/main/java/org/nuclearfog/twidda/ui/activities/LoginActivity.java @@ -80,7 +80,7 @@ public class LoginActivity extends AppCompatActivity implements ActivityResultCa @Nullable private String loginLink; - private ConnectionConfig connection = new ConnectionConfig(ConnectionConfig.API_TWITTER_2); + private ConnectionConfig connection; @Override @@ -108,19 +108,25 @@ protected void onCreate(@Nullable Bundle b) { NetworkAdapter adapter = new NetworkAdapter(this); connectionDialog = new ConnectionDialog(this); + connection = new ConnectionConfig(); hostSelector.setAdapter(adapter); switch (settings.getLogin().getConfiguration()) { case TWITTER1: + hostSelector.setSelection(1); + connection.setApiType(ConnectionConfig.API_TWITTER_1); + break; + case TWITTER2: hostSelector.setSelection(1); + connection.setApiType(ConnectionConfig.API_TWITTER_2); break; case MASTODON: hostSelector.setSelection(0); + connection.setApiType(ConnectionConfig.API_MASTODON); break; } - linkButton.setOnClickListener(this); loginButton.setOnClickListener(this); settingsButton.setOnClickListener(this); @@ -243,19 +249,19 @@ else if (v.getId() == R.id.login_network_settings) { } else if (hostSelector.getSelectedItemId() == NetworkAdapter.ID_MASTODON) { connectionDialog.show(connection); } + loginLink = null; } } @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { - // reset login link after provider change - loginLink = null; if (id == NetworkAdapter.ID_TWITTER) { connection.setApiType(ConnectionConfig.API_TWITTER_2); } else if (id == NetworkAdapter.ID_MASTODON) { connection.setApiType(ConnectionConfig.API_MASTODON); } + loginLink = null; } diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/ConnectionDialog.java b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/ConnectionDialog.java index cfd4530057..7f5518bc55 100644 --- a/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/ConnectionDialog.java +++ b/app/src/main/java/org/nuclearfog/twidda/ui/dialogs/ConnectionDialog.java @@ -40,7 +40,6 @@ public ConnectionDialog(Context context) { super(context, R.style.ConfirmDialog); requestWindowFeature(FEATURE_NO_TITLE); setCanceledOnTouchOutside(false); - setCancelable(false); setContentView(R.layout.dialog_connection); ViewGroup root = findViewById(R.id.dialog_connection_root); Button confirm = findViewById(R.id.dialog_connection_confirm); @@ -189,6 +188,9 @@ public void show(ConnectionConfig connection) { api1.setVisibility(View.GONE); api2.setVisibility(View.GONE); break; + + default: + return; } // erase all error messages if (api1.getError() != null)