diff --git a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java index 43bbfbc7..efc0fb60 100644 --- a/app/src/main/java/org/nuclearfog/twidda/MainActivity.java +++ b/app/src/main/java/org/nuclearfog/twidda/MainActivity.java @@ -6,6 +6,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.SearchView; @@ -36,6 +37,7 @@ public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSe private static final int LOGIN = 1; private static final int SETTING = 2; + @Nullable private FragmentAdapter adapter; private TabLayout tablayout; private ViewPager pager; @@ -104,12 +106,16 @@ public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSe break; case SETTING: - if (returnCode == DB_CLEARED) - adapter.clearData(); - else if (returnCode == APP_LOGOUT) - adapter = null; - else - adapter.notifySettingsChanged(); + if (adapter != null) { + if (returnCode == DB_CLEARED) { + adapter.clearData(); + } else if (returnCode == APP_LOGOUT) { + adapter.clearData(); + adapter = null; + } else { + adapter.notifySettingsChanged(); + } + } break; } super.onActivityResult(reqCode, returnCode, intent); @@ -216,7 +222,8 @@ public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSe @Override public void onTabUnselected(Tab tab) { - adapter.scrollToTop(tab.getPosition()); + if (adapter != null) + adapter.scrollToTop(tab.getPosition()); } diff --git a/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java b/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java index be4d70cc..d494e391 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java @@ -30,6 +30,7 @@ public class LoginPage extends AppCompatActivity implements OnClickListener { private Registration registerAsync; private EditText pin; private View root; + private String link; @Override protected void onCreate(Bundle b) { @@ -97,12 +98,18 @@ public class LoginPage extends AppCompatActivity implements OnClickListener { switch (v.getId()) { case R.id.linkButton: - registerAsync = new Registration(this); - registerAsync.execute(); + if (link == null) { + registerAsync = new Registration(this); + registerAsync.execute(); + } else { + connect(link); + } break; case R.id.verifier: - if (pin.getText() != null) { + if (link == null) { + Toast.makeText(this, R.string.info_get_link, LENGTH_LONG).show(); + } else if (pin.getText() != null) { String twitterPin = pin.getText().toString(); if (!twitterPin.trim().isEmpty()) { registerAsync = new Registration(this); @@ -118,12 +125,11 @@ public class LoginPage extends AppCompatActivity implements OnClickListener { public void connect(String link) { ConnectivityManager mConnect = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); - if (mConnect != null && mConnect.getActiveNetworkInfo() != null) { - if (mConnect.getActiveNetworkInfo().isConnected()) { - Intent browser = new Intent(ACTION_VIEW); - browser.setData(Uri.parse(link)); - startActivity(browser); - } + if (mConnect != null && mConnect.getActiveNetworkInfo() != null && mConnect.getActiveNetworkInfo().isConnected()) { + Intent browser = new Intent(ACTION_VIEW); + browser.setData(Uri.parse(link)); + startActivity(browser); + this.link = link; } else { Toast.makeText(this, R.string.connection_failed, LENGTH_SHORT).show(); } diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 01e460cb..6148026b 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -125,4 +125,5 @@ GPS Position hinzugefügt starte GPS lokalisierung… GPS lokalisierung fehlgeschlagen! + PIN muss erst von Twitter abgefragt werden! Bitte den ersten Button drücken! \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 64728d0a..d6513d88 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,4 +126,5 @@ GPS position added starting location… could not fetch GPS data! + Get Twitter PIN from browser first. Please press the first button! \ No newline at end of file