added more error codes

code reformat
This commit is contained in:
NudeDude 2019-01-06 22:28:35 +01:00
parent a7461d65d0
commit 34f08f9c3b
20 changed files with 78 additions and 45 deletions

View File

@ -8,10 +8,10 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application <application
android:allowBackup="false"
android:icon="@mipmap/shitter" android:icon="@mipmap/shitter"
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true" android:supportsRtl="true"
android:allowBackup="false"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity <activity
@ -26,12 +26,13 @@
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
<data <data
android:pathPattern="\\/.*\\/status\\/.*"
android:host="*.twitter.com" android:host="*.twitter.com"
android:pathPattern="\\/.*\\/status\\/.*"
android:scheme="https" /> android:scheme="https" />
</intent-filter> </intent-filter>

View File

@ -1,6 +1,7 @@
package org.nuclearfog.twidda.backend; package org.nuclearfog.twidda.backend;
import android.content.Context; import android.content.Context;
import android.net.ConnectivityManager;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.widget.Toast; import android.widget.Toast;
@ -13,25 +14,33 @@ abstract class ErrorHandling {
/** /**
* Print twitter error message * Print twitter error message
* @param c Application Context *
* @param c Application Context
* @param error TwitterException * @param error TwitterException
* @return if Activity should shut down * @return if Activity should shut down
*/ */
public static boolean printError(Context c, @NonNull TwitterException error) { public static boolean printError(Context c, @NonNull TwitterException error) {
switch(error.getErrorCode()) { switch (error.getErrorCode()) {
case 88:
case 420: // case 420: //
case 429: // Rate limit exceeded! case 429: // Rate limit exceeded!
Toast.makeText(c, R.string.rate_limit_exceeded, Toast.LENGTH_SHORT).show(); String msg = c.getString(R.string.rate_limit_exceeded);
msg += error.getRetryAfter();
Toast.makeText(c, msg, Toast.LENGTH_SHORT).show();
break; break;
case 17:
case 50: // USER not found case 50: // USER not found
case 63: // USER suspended case 63: // USER suspended
case 136: // Blocked! case 136: // Blocked!
Toast.makeText(c, R.string.user_not_found, Toast.LENGTH_SHORT).show(); Toast.makeText(c, R.string.user_not_found, Toast.LENGTH_SHORT).show();
return true; return true;
case 32:
Toast.makeText(c, R.string.authentication_failed, Toast.LENGTH_SHORT).show();
break;
case 34: // case 34: //
case 144: // TWEET not found case 144: // TWEET not found
Toast.makeText(c, R.string.tweet_not_found, Toast.LENGTH_SHORT).show(); Toast.makeText(c, R.string.tweet_not_found, Toast.LENGTH_SHORT).show();
@ -41,12 +50,34 @@ abstract class ErrorHandling {
Toast.makeText(c, R.string.cant_send_dm, Toast.LENGTH_SHORT).show(); Toast.makeText(c, R.string.cant_send_dm, Toast.LENGTH_SHORT).show();
break; break;
case -1: case 179:
Toast.makeText(c, R.string.error_not_specified, Toast.LENGTH_SHORT).show(); Toast.makeText(c, R.string.status_private, Toast.LENGTH_SHORT).show();
break; break;
case 186:
Toast.makeText(c, R.string.status_too_long, Toast.LENGTH_SHORT).show();
break;
case 187:
Toast.makeText(c, R.string.duplicate_status, Toast.LENGTH_SHORT).show();
break;
case 354:
Toast.makeText(c, R.string.directmessage_too_long, Toast.LENGTH_SHORT).show();
break;
case 89:
Toast.makeText(c, R.string.error_accesstoken, Toast.LENGTH_SHORT).show();
break;
case -1:
default: default:
Toast.makeText(c, error.getErrorMessage(), Toast.LENGTH_LONG).show(); ConnectivityManager mConnect = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE);
if (mConnect.getActiveNetworkInfo() == null || !mConnect.getActiveNetworkInfo().isConnected()) {
Toast.makeText(c, R.string.connection_failed, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(c, error.getErrorMessage(), Toast.LENGTH_LONG).show();
}
} }
return false; return false;
} }

View File

@ -115,8 +115,8 @@ public class LinkBrowser extends AsyncTask<Uri, Void, Void> {
tweetActivity.putExtra("tweetID", tweet.getId()); tweetActivity.putExtra("tweetID", tweet.getId());
ui.get().startActivity(tweetActivity); ui.get().startActivity(tweetActivity);
} else { } else {
if(err != null) if (err != null)
ErrorHandling.printError(ui.get(),err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -154,7 +154,7 @@ public class MainPage extends AsyncTask<Integer, Integer, Integer> {
trendRefresh.setRefreshing(false); trendRefresh.setRefreshing(false);
mentionRefresh.setRefreshing(false); mentionRefresh.setRefreshing(false);
if(err != null) { if (err != null) {
ErrorHandling.printError(ui.get(), err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -84,7 +84,7 @@ public class MessageLoader extends AsyncTask<Long, Void, Long> {
mAdapter.setData(message); mAdapter.setData(message);
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
} else { } else {
if(err != null) if (err != null)
ErrorHandling.printError(ui.get(), err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -92,7 +92,7 @@ public class MessageUpload extends AsyncTask<String, Void, Boolean> {
Toast.makeText(ui.get(), R.string.dmsend, Toast.LENGTH_SHORT).show(); Toast.makeText(ui.get(), R.string.dmsend, Toast.LENGTH_SHORT).show();
ui.get().finish(); ui.get().finish();
} else { } else {
if(err != null) if (err != null)
ErrorHandling.printError(ui.get(), err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -253,7 +253,7 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
} }
}); });
ui.get().setTweetCount(user.getTweetCount(),user.getFavorCount()); ui.get().setTweetCount(user.getTweetCount(), user.getFavorCount());
} else if (MODE == GET_TWEETS) { } else if (MODE == GET_TWEETS) {
homeTl.setData(tweets); homeTl.setData(tweets);
@ -297,7 +297,7 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
Toast.makeText(ui.get(), R.string.unmuted, Toast.LENGTH_SHORT).show(); Toast.makeText(ui.get(), R.string.unmuted, Toast.LENGTH_SHORT).show();
} else if (MODE == FAILURE) { } else if (MODE == FAILURE) {
if(err != null) { if (err != null) {
boolean killActivity = ErrorHandling.printError(ui.get(), err); boolean killActivity = ErrorHandling.printError(ui.get(), err);
if (killActivity) if (killActivity)
ui.get().finish(); ui.get().finish();

View File

@ -222,7 +222,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
ui.get().setResult(TWEET_REMOVED); ui.get().setResult(TWEET_REMOVED);
ui.get().finish(); ui.get().finish();
} else if (mode == ERROR) { } else if (mode == ERROR) {
if(err != null) { if (err != null) {
boolean killActivity = ErrorHandling.printError(ui.get(), err); boolean killActivity = ErrorHandling.printError(ui.get(), err);
if (killActivity) if (killActivity)
ui.get().finish(); ui.get().finish();

View File

@ -98,8 +98,8 @@ public class StatusUpload extends AsyncTask<String, Void, Boolean> {
ui.get().close(); ui.get().close();
} else { } else {
if(err != null) if (err != null)
ErrorHandling.printError(ui.get(),err); ErrorHandling.printError(ui.get(), err);
AlertDialog.Builder builder = new AlertDialog.Builder(ui.get()); AlertDialog.Builder builder = new AlertDialog.Builder(ui.get());
builder.setTitle(R.string.error).setMessage(R.string.error_sending_tweet) builder.setTitle(R.string.error).setMessage(R.string.error_sending_tweet)

View File

@ -371,7 +371,6 @@ public class TwitterEngine {
* @param text Tweet Text * @param text Tweet Text
* @param reply In reply to tweet ID * @param reply In reply to tweet ID
* @param path Path to the Media File * @param path Path to the Media File
* @throws TwitterException if Access is unavailable * @throws TwitterException if Access is unavailable
*/ */
public void sendStatus(String text, long reply, @Nullable String[] path) throws TwitterException { public void sendStatus(String text, long reply, @Nullable String[] path) throws TwitterException {
@ -453,7 +452,7 @@ public class TwitterEngine {
else else
tweet = twitter.retweetStatus(tweet.getId()); tweet = twitter.retweetStatus(tweet.getId());
if(tweet.getRetweetedStatus() == null) if (tweet.getRetweetedStatus() == null)
return getTweet(tweet, null); return getTweet(tweet, null);
else else
return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null)); return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null));
@ -474,11 +473,11 @@ public class TwitterEngine {
else else
tweet = twitter.createFavorite(tweet.getId()); tweet = twitter.createFavorite(tweet.getId());
if(tweet.getRetweetedStatus() == null) if (tweet.getRetweetedStatus() == null)
return getTweet(tweet, null); return getTweet(tweet, null);
else else
return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null)); return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null));
} }
/** /**

View File

@ -97,7 +97,7 @@ public class TwitterSearch extends AsyncTask<String, Integer, Boolean> {
if (!success) { if (!success) {
SwipeRefreshLayout tweetReload = ui.get().findViewById(R.id.searchtweets); SwipeRefreshLayout tweetReload = ui.get().findViewById(R.id.searchtweets);
tweetReload.setRefreshing(false); tweetReload.setRefreshing(false);
if(err != null) { if (err != null) {
ErrorHandling.printError(ui.get(), err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -72,7 +72,7 @@ public class UserLists extends AsyncTask<Long, Void, Boolean> {
usrAdp.setData(user); usrAdp.setData(user);
usrAdp.notifyDataSetChanged(); usrAdp.notifyDataSetChanged();
} else { } else {
if(err != null) { if (err != null) {
ErrorHandling.printError(ui.get(), err); ErrorHandling.printError(ui.get(), err);
} }
} }

View File

@ -54,7 +54,7 @@ public class AppDatabase extends SQLiteOpenHelper {
@Override @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if(oldVersion == 1 && newVersion >= 2) { if (oldVersion == 1 && newVersion >= 2) {
final String T_QUERY = "ALTER TABLE user ADD COLUMN tweetCount INTEGER DEFAULT 0;"; final String T_QUERY = "ALTER TABLE user ADD COLUMN tweetCount INTEGER DEFAULT 0;";
db.execSQL(T_QUERY); db.execSQL(T_QUERY);
final String F_QUERY = "ALTER TABLE user ADD COLUMN favorCount INTEGER DEFAULT 0;"; final String F_QUERY = "ALTER TABLE user ADD COLUMN favorCount INTEGER DEFAULT 0;";

View File

@ -93,7 +93,7 @@ public class DatabaseAdapter {
/** /**
* store user favors * store user favors
* *
* @param fav tweet favored by user * @param fav tweet favored by user
* @param ownerId user ID * @param ownerId user ID
*/ */
public void storeUserFavs(List<Tweet> fav, long ownerId) { public void storeUserFavs(List<Tweet> fav, long ownerId) {

View File

@ -189,14 +189,14 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
switch (v.getId()) { switch (v.getId()) {
case R.id.rt_button_detail: case R.id.rt_button_detail:
if(mStat != null && mStat.getStatus() == RUNNING) if (mStat != null && mStat.getStatus() == RUNNING)
mStat.cancel(true); mStat.cancel(true);
mStat = new StatusLoader(this); mStat = new StatusLoader(this);
mStat.execute(tweetID, StatusLoader.RETWEET); mStat.execute(tweetID, StatusLoader.RETWEET);
break; break;
case R.id.fav_button_detail: case R.id.fav_button_detail:
if(mStat != null && mStat.getStatus() == RUNNING) if (mStat != null && mStat.getStatus() == RUNNING)
mStat.cancel(true); mStat.cancel(true);
mStat = new StatusLoader(this); mStat = new StatusLoader(this);
mStat.execute(tweetID, StatusLoader.FAVORITE); mStat.execute(tweetID, StatusLoader.FAVORITE);

View File

@ -39,8 +39,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:hint="@string/pin" android:hint="@string/pin"
android:inputType="numberPassword"
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="numberPassword"
android:singleLine="true" android:singleLine="true"
tools:targetApi="o" /> tools:targetApi="o" />
@ -50,8 +50,8 @@
android:layout_height="@dimen/button_size" android:layout_height="@dimen/button_size"
android:layout_marginStart="@dimen/layout_margin" android:layout_marginStart="@dimen/layout_margin"
android:layout_marginLeft="@dimen/layout_margin" android:layout_marginLeft="@dimen/layout_margin"
android:contentDescription="@string/paste_from_clipboard"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:contentDescription="@string/paste_from_clipboard"
app:srcCompat="@drawable/copy" /> app:srcCompat="@drawable/copy" />
</LinearLayout> </LinearLayout>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
style="@style/PopupCardView" style="@style/PopupCardView"

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
style="@style/PopupCardView" style="@style/PopupCardView"

View File

@ -29,7 +29,7 @@
<string name="pin_added">PIN eingefügt!</string> <string name="pin_added">PIN eingefügt!</string>
<string name="false_format">Falsches Format!</string> <string name="false_format">Falsches Format!</string>
<string name="delete_database_popup">Datenbank löschen?</string> <string name="delete_database_popup">Datenbank löschen?</string>
<string name="rate_limit_exceeded">Abrufgrenze überschritten!</string> <string name="rate_limit_exceeded">"Rate-Limit erreicht, weiter in (s): "</string>
<string name="error_sending_tweet">Fehler beim Senden!</string> <string name="error_sending_tweet">Fehler beim Senden!</string>
<string name="tweet_sent">Tweet gesendet</string> <string name="tweet_sent">Tweet gesendet</string>
<string name="error">Fehler!</string> <string name="error">Fehler!</string>
@ -58,7 +58,6 @@
<string name="error_dm">Nutzername oder Nachricht eingeben!</string> <string name="error_dm">Nutzername oder Nachricht eingeben!</string>
<string name="abort">Abgebrochen!</string> <string name="abort">Abgebrochen!</string>
<string name="cancel_message">Nachricht verwerfen?</string> <string name="cancel_message">Nachricht verwerfen?</string>
<string name="error_not_specified">Allgemeiner Fehler!</string>
<string name="empty_tweet">Tweet leer!</string> <string name="empty_tweet">Tweet leer!</string>
<string name="logout">ausloggen</string> <string name="logout">ausloggen</string>
<string name="pin_verification_failed">PIN verifizierung fehlgeschlagen!</string> <string name="pin_verification_failed">PIN verifizierung fehlgeschlagen!</string>
@ -71,11 +70,8 @@
<string name="confirm_unfollow">User entfolgen?</string> <string name="confirm_unfollow">User entfolgen?</string>
<string name="confirm_block">user sperren?</string> <string name="confirm_block">user sperren?</string>
<string name="confirm_delete_dm">Nachricht löschen?</string> <string name="confirm_delete_dm">Nachricht löschen?</string>
<string name="dm_not_found">Nachricht nicht gefunden!</string>
<string name="image_folder_created">Ordner erstellt unter Pictures</string> <string name="image_folder_created">Ordner erstellt unter Pictures</string>
<string name="image_saved">Bild gespeichert!</string> <string name="image_saved">Bild gespeichert!</string>
<string name="tweet_loading">lädt..</string>
<string name="site_load_failure">Fehler beim Abrufen der Seite!</string>
<string name="tweet_close">Tweetfenster schließen</string> <string name="tweet_close">Tweetfenster schließen</string>
<string name="send_tweet">Tweet senden</string> <string name="send_tweet">Tweet senden</string>
<string name="add_image">Bild hinzufügen</string> <string name="add_image">Bild hinzufügen</string>
@ -96,4 +92,10 @@
<string name="user_not_found">Nutzer nicht gefunden!</string> <string name="user_not_found">Nutzer nicht gefunden!</string>
<string name="profile_tweets">Profile tweets</string> <string name="profile_tweets">Profile tweets</string>
<string name="cant_send_dm">Nachricht kann nicht an den User gesendet werden!</string> <string name="cant_send_dm">Nachricht kann nicht an den User gesendet werden!</string>
<string name="error_accesstoken">ungültiger Zugangsschlüssel!</string>
<string name="status_private">keine Berechtigung um den Status zu sehen!</string>
<string name="status_too_long">Status ist zu lang!</string>
<string name="duplicate_status">Tweet wurde schon versendet!</string>
<string name="directmessage_too_long">Direktnachricht länge überschritten!</string>
<string name="authentication_failed">Authentifikation fehlgeschlagen!</string>
</resources> </resources>

View File

@ -37,7 +37,7 @@
<string name="pin_added">PIN added!</string> <string name="pin_added">PIN added!</string>
<string name="false_format">not valid!</string> <string name="false_format">not valid!</string>
<string name="delete_database_popup">delete database?</string> <string name="delete_database_popup">delete database?</string>
<string name="rate_limit_exceeded">Rate limit exceeded</string> <string name="rate_limit_exceeded">"Rate limit exceeded, retry after(s): "</string>
<string name="error_sending_tweet">error while sending</string> <string name="error_sending_tweet">error while sending</string>
<string name="tweet_sent">tweet sent</string> <string name="tweet_sent">tweet sent</string>
<string name="error">Error!</string> <string name="error">Error!</string>
@ -66,7 +66,6 @@
<string name="error_dm">enter username or message!</string> <string name="error_dm">enter username or message!</string>
<string name="abort">canceled!</string> <string name="abort">canceled!</string>
<string name="cancel_message">cancel message?</string> <string name="cancel_message">cancel message?</string>
<string name="error_not_specified">not specidfied error!</string>
<string name="empty_tweet">empty tweet!</string> <string name="empty_tweet">empty tweet!</string>
<string name="logout">log out!</string> <string name="logout">log out!</string>
<string name="pin_verification_failed">PIN verification failed!</string> <string name="pin_verification_failed">PIN verification failed!</string>
@ -79,11 +78,8 @@
<string name="confirm_block">block user?</string> <string name="confirm_block">block user?</string>
<string name="confirm_log_lout">log out?</string> <string name="confirm_log_lout">log out?</string>
<string name="confirm_cancel_tweet">cancel tweet?</string> <string name="confirm_cancel_tweet">cancel tweet?</string>
<string name="dm_not_found">message not found!</string>
<string name="image_folder_created">folder created under Pictures!</string> <string name="image_folder_created">folder created under Pictures!</string>
<string name="image_saved">image saved!</string> <string name="image_saved">image saved!</string>
<string name="tweet_loading">loading..</string>
<string name="site_load_failure">error while loading site!</string>
<string name="image_preview">Image preview</string> <string name="image_preview">Image preview</string>
<string name="add_image">add new image</string> <string name="add_image">add new image</string>
<string name="send_tweet">send Tweet</string> <string name="send_tweet">send Tweet</string>
@ -104,4 +100,10 @@
<string name="user_not_found">user not found!</string> <string name="user_not_found">user not found!</string>
<string name="profile_tweets">Profile tweets</string> <string name="profile_tweets">Profile tweets</string>
<string name="cant_send_dm">cannot send dm to user!</string> <string name="cant_send_dm">cannot send dm to user!</string>
<string name="error_accesstoken">Invalid or expired token!</string>
<string name="status_private">You are not authorized to see this Status!</string>
<string name="status_too_long">Tweet needs to be shorter!</string>
<string name="duplicate_status">Duplicate Status!</string>
<string name="directmessage_too_long">direct message text is over the limit!</string>
<string name="authentication_failed">failed to authenticate!</string>
</resources> </resources>