diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java b/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java index 687d02b1..ee7f75de 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ImagePopup.java @@ -26,11 +26,13 @@ public class ImagePopup extends AsyncTask { private LayoutInflater inflater; private int position = 0; + public ImagePopup(Context context) { popup = new Dialog(context); inflater = LayoutInflater.from(context); } + @Override @SuppressLint("InflateParams") protected void onPreExecute() { @@ -46,20 +48,19 @@ public class ImagePopup extends AsyncTask { @Override public void onClick(View v) { popup.dismiss(); - if (!isCancelled()) - cancel(true); } }); - popup.setOnCancelListener(new DialogInterface.OnCancelListener() { + popup.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onCancel(DialogInterface dialog) { - if (!isCancelled()) + public void onDismiss(DialogInterface dialog) { + if (getStatus() == Status.RUNNING) cancel(true); } }); popup.show(); } + @Override protected Boolean doInBackground(String... links) { try { @@ -85,6 +86,7 @@ public class ImagePopup extends AsyncTask { } } + @Override @SuppressLint("InflateParams") protected void onPostExecute(Boolean result) { @@ -127,6 +129,7 @@ public class ImagePopup extends AsyncTask { } } + private void setImage(Bitmap btm, ImageView mImg) { if (btm != null) { int height = (int) (btm.getHeight() / (btm.getWidth() / 640.0)); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/MessageLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/MessageLoader.java index edd5b6f5..8f5f1511 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/MessageLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/MessageLoader.java @@ -27,6 +27,7 @@ public class MessageLoader extends AsyncTask { private String errorMsg = "E MessageLoader: "; private int returnCode = 0; + public MessageLoader(DirectMessage context) { ui = new WeakReference<>(context); GlobalSettings settings = GlobalSettings.getInstance(context); @@ -43,6 +44,7 @@ public class MessageLoader extends AsyncTask { } } + @Override protected Boolean doInBackground(Void... param) { try { @@ -72,6 +74,7 @@ public class MessageLoader extends AsyncTask { return true; } + @Override protected void onPostExecute(Boolean success) { if (ui.get() == null) return; diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/MessageUpload.java b/app/src/main/java/org/nuclearfog/twidda/backend/MessageUpload.java index f4f8327a..d0dc140c 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/MessageUpload.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/MessageUpload.java @@ -49,7 +49,7 @@ public class MessageUpload extends AsyncTask { popup.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { - if (!isCancelled()) { + if (getStatus() == Status.RUNNING) { Toast.makeText(ui.get(), R.string.abort, Toast.LENGTH_SHORT).show(); cancel(true); } @@ -80,14 +80,14 @@ public class MessageUpload extends AsyncTask { @Override protected void onPostExecute(Boolean success) { - if (ui.get() != null) { - popup.dismiss(); - if (success) { - Toast.makeText(ui.get(), R.string.dmsend, Toast.LENGTH_SHORT).show(); - ui.get().finish(); - } else { - Toast.makeText(ui.get(), R.string.error_sending_dm, Toast.LENGTH_SHORT).show(); - } + if (ui.get() == null) return; + + popup.dismiss(); + if (success) { + Toast.makeText(ui.get(), R.string.dmsend, Toast.LENGTH_SHORT).show(); + ui.get().finish(); + } else { + Toast.makeText(ui.get(), R.string.error_sending_dm, Toast.LENGTH_SHORT).show(); } } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java index 52814ed8..da4f4b79 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java @@ -259,7 +259,7 @@ public class ProfileLoader extends AsyncTask { profile.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (getStatus() == Status.FINISHED) + if (getStatus() != Status.RUNNING) new ImagePopup(ui.get()).execute(user.profileImg); } }); @@ -310,6 +310,10 @@ public class ProfileLoader extends AsyncTask { default: Toast.makeText(ui.get(), errMsg, Toast.LENGTH_LONG).show(); } + SwipeRefreshLayout homeReload = ui.get().findViewById(R.id.hometweets); + SwipeRefreshLayout favReload = ui.get().findViewById(R.id.homefavorits); + homeReload.setRefreshing(false); + favReload.setRefreshing(false); } if (!isHome) { ui.get().setConnection(isFollowing, isMuted, isBlocked, canDm); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java b/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java index 33a7ca1b..882b92ee 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/Registration.java @@ -5,18 +5,17 @@ import android.os.AsyncTask; import android.util.Log; import android.widget.Toast; +import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.window.LoginPage; import java.lang.ref.WeakReference; -import twitter4j.TwitterException; public class Registration extends AsyncTask { private WeakReference ui; private TwitterEngine mTwitter; private boolean failure = false; - private String errorMessage = "E Registration: "; private String redirectionURL = ""; @@ -30,19 +29,14 @@ public class Registration extends AsyncTask { protected Boolean doInBackground(String... twitterPin) { String pin = twitterPin[0]; try { - if (pin.trim().isEmpty()) { - redirectionURL = mTwitter.request(); - } else { + redirectionURL = mTwitter.request(); + if (!pin.trim().isEmpty()) { mTwitter.initialize(pin); return true; } - } catch (TwitterException e) { - errorMessage += e.getMessage(); - failure = true; } catch (Exception e) { - errorMessage += e.getMessage(); e.printStackTrace(); - Log.e("Registration", errorMessage); + Log.e("Registration", e.getMessage()); failure = true; } return false; @@ -51,15 +45,15 @@ public class Registration extends AsyncTask { @Override protected void onPostExecute(Boolean success) { - if (ui.get() != null) { - if (success) { - ui.get().setResult(Activity.RESULT_OK); - ui.get().finish(); - } else if (failure) { - Toast.makeText(ui.get(), errorMessage, Toast.LENGTH_LONG).show(); - } else { - ui.get().connect(redirectionURL); - } + if (ui.get() == null) return; + + if (success) { + ui.get().setResult(Activity.RESULT_OK); + ui.get().finish(); + } else if (failure) { + Toast.makeText(ui.get(), R.string.pin_verification_failed, Toast.LENGTH_LONG).show(); + } else { + ui.get().connect(redirectionURL); } } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java index 90157747..884a9f50 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUpload.java @@ -91,22 +91,22 @@ public class StatusUpload extends AsyncTask { @Override protected void onPostExecute(Boolean success) { - if (ui.get() != null) { - popup.dismiss(); - if (success) { - Toast.makeText(ui.get(), R.string.tweet_sent, Toast.LENGTH_LONG).show(); - ui.get().finish(); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(ui.get()); - builder.setTitle(R.string.error).setMessage(R.string.error_sending_tweet) - .setPositiveButton(R.string.retry, new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - ui.get().findViewById(R.id.sendTweet).callOnClick(); - } - }) - .setNegativeButton(R.string.cancel, null).show(); - } + if (ui.get() == null) return; + + popup.dismiss(); + if (success) { + Toast.makeText(ui.get(), R.string.tweet_sent, Toast.LENGTH_LONG).show(); + ui.get().finish(); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(ui.get()); + builder.setTitle(R.string.error).setMessage(R.string.error_sending_tweet) + .setPositiveButton(R.string.retry, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ui.get().findViewById(R.id.sendTweet).callOnClick(); + } + }) + .setNegativeButton(R.string.cancel, null).show(); } } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java index ab94b0b8..aba7bf3a 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java @@ -38,11 +38,12 @@ public class TwitterEngine { private static TwitterEngine mTwitter; private final String TWITTER_CONSUMER_KEY = "xxx"; private final String TWITTER_CONSUMER_SECRET = "xxx"; - private long twitterID = -1L; + + private String redirectionUrl; + private long twitterID; private Twitter twitter; private GlobalSettings settings; private RequestToken reqToken; - private boolean login; private int load; @@ -51,13 +52,18 @@ public class TwitterEngine { */ private TwitterEngine(Context context) { settings = GlobalSettings.getInstance(context); - login = settings.getLogin(); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); Configuration configuration = builder.build(); TwitterFactory factory = new TwitterFactory(configuration); twitter = factory.getInstance(); + + if (settings.getLogin()) { + String keys[] = settings.getKeys(); + initKeys(keys[0], keys[1]); + twitterID = settings.getUserId(); + } } @@ -70,7 +76,6 @@ public class TwitterEngine { public static TwitterEngine getInstance(Context context) { if (mTwitter == null) { mTwitter = new TwitterEngine(context); - mTwitter.init(); } mTwitter.setLoad(); return mTwitter; @@ -83,9 +88,11 @@ public class TwitterEngine { * @throws TwitterException if internet connection is unavailable */ public String request() throws TwitterException { - if (reqToken == null) + if (reqToken == null) { reqToken = twitter.getOAuthRequestToken(); - return reqToken.getAuthenticationURL(); + redirectionUrl = reqToken.getAuthenticationURL(); + } + return redirectionUrl; } /** @@ -101,9 +108,8 @@ public class TwitterEngine { String key1 = accessToken.getToken(); String key2 = accessToken.getTokenSecret(); initKeys(key1, key2); - saveCurrentUser(key1, key2); - } else { - throw new IllegalMonitorStateException("empty request token!"); + twitterID = twitter.getId(); + settings.setConnection(key1, key2, twitterID); } } @@ -120,19 +126,6 @@ public class TwitterEngine { builder.setTweetModeExtended(true); AccessToken token = new AccessToken(key1, key2); twitter = new TwitterFactory(builder.build()).getInstance(token); - login = true; - } - - /** - * store current user's name & id - * - * @param key1 AccessToken - * @param key2 AccessToken Secret - * @throws TwitterException if twitter isn't initialized yet. - */ - private void saveCurrentUser(String key1, String key2) throws TwitterException { - twitterID = twitter.getId(); - settings.setConnection(key1, key2, twitterID); } @@ -143,17 +136,6 @@ public class TwitterEngine { load = settings.getRowLimit(); } - /** - * recall Keys from Shared-Preferences - * & initialize Twitter - */ - private void init() { - if (login) { - String keys[] = settings.getKeys(); - initKeys(keys[0], keys[1]); - } - twitterID = settings.getUserId(); - } /** * Get Home Timeline diff --git a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java index debede4a..e7a071c7 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/AppSettings.java @@ -27,6 +27,11 @@ import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.database.GlobalSettings; import org.nuclearfog.twidda.viewadapter.WorldIdAdapter; +/** + * App settings page + * + * @see GlobalSettings + */ public class AppSettings extends AppCompatActivity implements OnClickListener, OnColorChangedListener, OnItemSelectedListener { diff --git a/app/src/main/java/org/nuclearfog/twidda/window/DirectMessage.java b/app/src/main/java/org/nuclearfog/twidda/window/DirectMessage.java index 91a49d43..7a708782 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/DirectMessage.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/DirectMessage.java @@ -78,11 +78,13 @@ public class DirectMessage extends AppCompatActivity implements OnItemSelected, @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.message: - Intent sendDm = new Intent(this, MessagePopup.class); - startActivity(sendDm); - break; + if (mLoader != null && mLoader.getStatus() != RUNNING) { + switch (item.getItemId()) { + case R.id.message: + Intent sendDm = new Intent(this, MessagePopup.class); + startActivity(sendDm); + break; + } } return super.onOptionsItemSelected(item); } 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 fa9b1bac..dc505667 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/LoginPage.java @@ -15,11 +15,18 @@ import android.widget.Toast; import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.Registration; +import static android.os.AsyncTask.Status.RUNNING; + +/** + * Login Page + * + * @see Registration + */ public class LoginPage extends AppCompatActivity implements OnClickListener { + private Registration register; private EditText pin; - @Override protected void onCreate(Bundle b) { super.onCreate(b); @@ -31,6 +38,14 @@ public class LoginPage extends AppCompatActivity implements OnClickListener { } + @Override + protected void onDestroy() { + if (register != null && register.getStatus() == RUNNING) + register.cancel(true); + super.onDestroy(); + } + + @Override public void onBackPressed() { setResult(RESULT_CANCELED); @@ -40,16 +55,20 @@ public class LoginPage extends AppCompatActivity implements OnClickListener { @Override public void onClick(View v) { + if (register != null && register.getStatus() == RUNNING) + register.cancel(true); + switch (v.getId()) { case R.id.linkButton: - Registration account = new Registration(this); - account.execute(""); + register = new Registration(this); + register.execute(""); break; case R.id.get: String twitterPin = pin.getText().toString(); if (!twitterPin.trim().isEmpty()) { - new Registration(this).execute(twitterPin); + register = new Registration(this); + register.execute(twitterPin); } else { Toast.makeText(this, R.string.enter_pin, Toast.LENGTH_LONG).show(); } diff --git a/app/src/main/java/org/nuclearfog/twidda/window/MessagePopup.java b/app/src/main/java/org/nuclearfog/twidda/window/MessagePopup.java index b007f2fa..62eda561 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/MessagePopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/MessagePopup.java @@ -24,6 +24,11 @@ import org.nuclearfog.twidda.database.GlobalSettings; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.AsyncTask.Status.RUNNING; +/** + * Message Window + * + * @see MessageUpload + */ public class MessagePopup extends AppCompatActivity implements View.OnClickListener { private MessageUpload upload; diff --git a/app/src/main/java/org/nuclearfog/twidda/window/SearchPage.java b/app/src/main/java/org/nuclearfog/twidda/window/SearchPage.java index 15d79b9e..b3b8a5d8 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/SearchPage.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/SearchPage.java @@ -27,9 +27,13 @@ import org.nuclearfog.twidda.viewadapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter.OnItemClicked; import org.nuclearfog.twidda.viewadapter.UserAdapter; -import static android.os.AsyncTask.Status.FINISHED; import static android.os.AsyncTask.Status.RUNNING; +/** + * Search Page + * + * @see TwitterSearch + */ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemClicked, OnRefreshListener, OnTabChangeListener, OnItemClicked { @@ -131,6 +135,7 @@ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemC startActivity(intent); return true; } + @Override public boolean onQueryTextChange(String s) { return false; @@ -142,7 +147,7 @@ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemC @Override public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == R.id.search_tweet) { + if (item.getItemId() == R.id.search_tweet && mSearch.getStatus() != RUNNING) { Intent intent = new Intent(this, TweetPopup.class); intent.putExtra("TweetID", -1); if (search.startsWith("#")) @@ -181,7 +186,7 @@ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemC @Override public void onRefresh() { - if (mSearch != null && mSearch.getStatus() == FINISHED) { + if (mSearch != null && mSearch.getStatus() != RUNNING) { mSearch = new TwitterSearch(this); mSearch.execute(search); } diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java index 8b8eb2bf..be0bdedb 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetDetail.java @@ -29,13 +29,13 @@ import org.nuclearfog.twidda.database.GlobalSettings; import org.nuclearfog.twidda.viewadapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter.OnItemClicked; -import static android.os.AsyncTask.Status.FINISHED; import static android.os.AsyncTask.Status.RUNNING; /** * Detailed Tweet Activity * * @see StatusLoader + * @see ImagePopup */ public class TweetDetail extends AppCompatActivity implements OnClickListener, OnItemClicked, OnRefreshListener { @@ -159,7 +159,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, @Override public void onClick(View v) { - if (mStat != null && mStat.getStatus() == FINISHED) { + if (mStat != null && mStat.getStatus() != RUNNING) { switch (v.getId()) { case R.id.rt_button_detail: mStat = new StatusLoader(this); @@ -227,7 +227,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, public void onMediaClicked(String mediaLinks[]) { - ImagePopup mediaContent = new ImagePopup(this); - mediaContent.execute(mediaLinks); + ImagePopup imagePopup = new ImagePopup(this); + imagePopup.execute(mediaLinks); } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java index 21039f49..f3951535 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java @@ -27,9 +27,15 @@ import java.util.List; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.AsyncTask.Status.RUNNING; +/** + * Tweet Window + * + * @see StatusUpload + */ public class TweetPopup extends AppCompatActivity implements OnClickListener { private StatusUpload sendTweet; + private ImagePopup imagePopup; private View imageButton, previewBtn; private List mediaPath; private TextView imgCount; @@ -73,6 +79,16 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener { } + @Override + protected void onDestroy() { + if (sendTweet != null && sendTweet.getStatus() == RUNNING) + sendTweet.cancel(true); + if (imagePopup != null && imagePopup.getStatus() == RUNNING) + imagePopup.cancel(true); + super.onDestroy(); + } + + @Override public void onBackPressed() { showClosingMsg(); @@ -118,8 +134,9 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener { switch (v.getId()) { case R.id.sendTweet: String tweetStr = tweet.getText().toString(); + if (sendTweet != null && sendTweet.getStatus() == RUNNING) + sendTweet.cancel(true); sendTweet = new StatusUpload(this, tweetStr, inReplyId); - if (!tweetStr.trim().isEmpty() && mediaPath.isEmpty()) { sendTweet.execute(); } else if (!mediaPath.isEmpty()) { @@ -140,7 +157,10 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener { break; case R.id.img_preview: - new ImagePopup(this).execute(mediaPath.toArray(new String[mediaPath.size()])); + if (imagePopup != null && imagePopup.getStatus() == RUNNING) + imagePopup.cancel(true); + imagePopup = new ImagePopup(this); + imagePopup.execute(mediaPath.toArray(new String[mediaPath.size()])); break; } } @@ -154,8 +174,6 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener { closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - if (sendTweet != null && sendTweet.getStatus() == RUNNING) - sendTweet.cancel(true); finish(); } }); diff --git a/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java b/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java index 0dc827c4..b5bcc15f 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/UserDetail.java @@ -20,9 +20,8 @@ import org.nuclearfog.twidda.viewadapter.UserAdapter.OnItemClicked; import static android.os.AsyncTask.Status.RUNNING; - /** - * User List + * User List Activity * * @see UserLists */ diff --git a/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java b/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java index 06bc33ef..c3db77d5 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/UserProfile.java @@ -26,10 +26,8 @@ import org.nuclearfog.twidda.database.GlobalSettings; import org.nuclearfog.twidda.viewadapter.TimelineAdapter; import org.nuclearfog.twidda.viewadapter.TimelineAdapter.OnItemClicked; -import static android.os.AsyncTask.Status.FINISHED; import static android.os.AsyncTask.Status.RUNNING; - /** * User Profile Activity * @@ -169,7 +167,7 @@ public class UserProfile extends AppCompatActivity implements @Override public boolean onOptionsItemSelected(MenuItem item) { - if (mProfile != null && mProfile.getStatus() == FINISHED) { + if (mProfile != null && mProfile.getStatus() != RUNNING) { switch (item.getItemId()) { case R.id.profile_tweet: Intent tweet = new Intent(this, TweetPopup.class); diff --git a/app/src/main/res/layout/page_settings.xml b/app/src/main/res/layout/page_settings.xml index 30f27fad..9e1a0375 100644 --- a/app/src/main/res/layout/page_settings.xml +++ b/app/src/main/res/layout/page_settings.xml @@ -182,7 +182,7 @@ style="@style/Widget.AppCompat.Button.Borderless" android:layout_width="0dp" android:layout_height="@dimen/button_height" - android:layout_marginEnd="5dp" + android:layout_margin="5dp" android:layout_weight="1" android:background="@android:color/holo_red_dark" android:text="@string/delete_database" /> @@ -192,7 +192,7 @@ style="@style/Widget.AppCompat.Button.Borderless" android:layout_width="0dp" android:layout_height="@dimen/button_height" - android:layout_marginEnd="5dp" + android:layout_margin="5dp" android:layout_weight="1" android:background="@android:color/holo_red_dark" android:text="@string/logout" /> diff --git a/app/src/main/res/layout/popup_dm.xml b/app/src/main/res/layout/popup_dm.xml index 7c4708e6..36ec7573 100644 --- a/app/src/main/res/layout/popup_dm.xml +++ b/app/src/main/res/layout/popup_dm.xml @@ -10,15 +10,16 @@ Trendeinstellung Datenbank Profil - app registrieren + PIN aufrufen profilbild Einstellungen Zurück @@ -68,8 +68,9 @@ Allgemeiner Fehler! Fehler beim Senden der Direktnachricht! Tweet leer! - log out! + ausloggen ausloggen? User entfolgen? user sperren? + PIN verifizierung fehlgeschlagen! \ 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 d860e7cb..f7c38f2c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -31,7 +31,7 @@ trend setting database profile - app registry + get PIN! load images delete database search @@ -80,4 +80,5 @@ log out? unfollow user? block user? + PIN verification failed! \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 6dfe749b..4305ebe7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,7 +8,7 @@ @style/TransactionPending @android:color/black @style/RobotoTextView - @style/RobotoTextView + @style/CustomButton + + \ No newline at end of file