bugfix, code cleanup
This commit is contained in:
parent
f43219676e
commit
41b4c34f96
|
@ -29,6 +29,7 @@ public class ImagePopup extends AsyncTask<String, Void, Boolean> {
|
|||
private LayoutInflater inf;
|
||||
private ErrorLog errorLog;
|
||||
private int position = 0;
|
||||
private String errMsg = "E: Image Popup, ";
|
||||
|
||||
public ImagePopup(Context context) {
|
||||
popup = new Dialog(context);
|
||||
|
@ -73,7 +74,8 @@ public class ImagePopup extends AsyncTask<String, Void, Boolean> {
|
|||
}
|
||||
return true;
|
||||
} catch (Exception err) {
|
||||
errorLog.add("E: " + err.getMessage());
|
||||
errMsg += err.getMessage();
|
||||
errorLog.add(errMsg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,9 +38,9 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
private TrendRecycler trendsAdapter;
|
||||
private ErrorLog errorLog;
|
||||
private int woeId;
|
||||
private String errMsg;
|
||||
private int highlight, font;
|
||||
private boolean image;
|
||||
private String errMsg = "E: Main Page, ";
|
||||
private int retryAfter = 0;
|
||||
|
||||
/**
|
||||
|
@ -162,16 +162,13 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
if(errCode == 420) {
|
||||
retryAfter = e.getRetryAfter();
|
||||
} else {
|
||||
String errMsg = "E: " + e.getMessage();
|
||||
errorLog.add(errMsg);
|
||||
errMsg += e.getMessage();
|
||||
}
|
||||
return FAIL;
|
||||
}
|
||||
catch (Exception e) {
|
||||
String errMsg = "E: Main Page, " + e.getMessage();
|
||||
if(ui.get() != null) {
|
||||
errorLog.add(errMsg);
|
||||
}
|
||||
errMsg += e.getMessage();
|
||||
errorLog.add(errMsg);
|
||||
return FAIL;
|
||||
}
|
||||
return MODE;
|
||||
|
@ -206,8 +203,11 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
break;
|
||||
|
||||
case FAIL:
|
||||
if (retryAfter > 0)
|
||||
Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show();
|
||||
if (retryAfter > 0) {
|
||||
Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Toast.makeText(connect, errMsg, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
default:
|
||||
timelineRefresh.setRefreshing(false);
|
||||
trendRefresh.setRefreshing(false);
|
||||
|
|
|
@ -55,6 +55,7 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
private boolean isVerified = false;
|
||||
private boolean isLocked = false;
|
||||
private boolean blocked = false;
|
||||
private String errMsg = "E: Profile Load, ";
|
||||
private int retryAfter = 0;
|
||||
|
||||
/**
|
||||
|
@ -192,13 +193,13 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
retryAfter = err.getRetryAfter();
|
||||
}
|
||||
else if(errCode != 136) {
|
||||
String errMsg = "E: " + err.getMessage();
|
||||
errMsg += err.getMessage();
|
||||
errorLog.add(errMsg);
|
||||
}
|
||||
return FAILURE;
|
||||
}
|
||||
catch(Exception err) {
|
||||
String errMsg = "E: Profile Load, " + err.getMessage();
|
||||
errMsg += err.getMessage();
|
||||
errorLog.add(errMsg);
|
||||
return FAILURE;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,8 @@ public class Registration extends AsyncTask<String, Void, Boolean> {
|
|||
private WeakReference<LoginPage> ui;
|
||||
private TwitterEngine mTwitter;
|
||||
private ErrorLog errorLog;
|
||||
private String errorMessage;
|
||||
private boolean failure = false;
|
||||
private String errorMessage = "E: Registration, ";
|
||||
private String redirectionURL = "";
|
||||
|
||||
|
||||
|
@ -39,12 +40,14 @@ public class Registration extends AsyncTask<String, Void, Boolean> {
|
|||
return true;
|
||||
}
|
||||
} catch(TwitterException e) {
|
||||
errorMessage = "E: " + e.getErrorMessage();
|
||||
errorMessage += e.getErrorMessage();
|
||||
errorLog.add(errorMessage);
|
||||
failure = true;
|
||||
}
|
||||
catch ( Exception e ) {
|
||||
errorMessage = "E: Registration, " + e.getMessage();
|
||||
errorMessage += e.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
failure = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -58,10 +61,10 @@ public class Registration extends AsyncTask<String, Void, Boolean> {
|
|||
if(success) {
|
||||
connect.setResult(Activity.RESULT_OK);
|
||||
connect.finish();
|
||||
} else if (errorMessage != null) {
|
||||
} else if (failure) {
|
||||
Toast.makeText(connect,errorMessage,Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
ui.get().connect(redirectionURL);
|
||||
connect.connect(redirectionURL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
|
|||
private String usernameStr, scrNameStr, tweetStr, dateString;
|
||||
private String repliedUsername, apiName, profile_pb;
|
||||
private String medialinks[];
|
||||
private String errorMessage = "";
|
||||
private String errorMessage = "Status load: ";
|
||||
private boolean retweeted, favorited, toggleImg, verified;
|
||||
private long tweetReplyID, replyUserId;
|
||||
private int rtCount, favCount;
|
||||
|
@ -162,6 +162,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
|
|||
answers = mTwitter.getAnswers(scrNameStr, tweetID, tweetID);
|
||||
}
|
||||
answerAdapter.setData(answers);
|
||||
answerAdapter.toggleImage(toggleImg);
|
||||
answerAdapter.setColor(highlight, font);
|
||||
if(answers.size() > 0 && database.containStatus(tweetID))
|
||||
database.storeReplies(answers);
|
||||
|
@ -170,18 +171,18 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
|
|||
catch(TwitterException e) {
|
||||
int errCode = e.getErrorCode();
|
||||
if(errCode == 144) {
|
||||
database.removeStatus(tweetID);
|
||||
database.removeStatus(tweetID); //TODO
|
||||
errorMessage = "Tweet nicht gefunden!\nID:"+tweetID;
|
||||
} else if(errCode == 420) {
|
||||
int retry = e.getRetryAfter();
|
||||
int retry = e.getRetryAfter(); //TODO
|
||||
errorMessage = "Rate limit erreicht!\n Weiter in "+retry+" Sekunden";
|
||||
} else {
|
||||
errorMessage = "Fehler: "+e.getMessage();
|
||||
errorMessage += e.getMessage();
|
||||
}
|
||||
return ERROR;
|
||||
}
|
||||
catch(Exception err) {
|
||||
errorMessage = "Status load: "+err.getMessage();
|
||||
errorMessage += err.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
return ERROR;
|
||||
}
|
||||
|
@ -245,16 +246,16 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
|
|||
}
|
||||
if(toggleImg) {
|
||||
Picasso.with(ui.get()).load(profile_pb).into(profile_img);
|
||||
if(medialinks != null && medialinks.length != 0) {
|
||||
View mediaButton = connect.findViewById(R.id.image_attach);
|
||||
mediaButton.setVisibility(View.VISIBLE);
|
||||
mediaButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
connect.onMediaClicked(medialinks);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (medialinks != null && medialinks.length != 0) {
|
||||
View mediaButton = connect.findViewById(R.id.image_attach);
|
||||
mediaButton.setVisibility(View.VISIBLE);
|
||||
mediaButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
connect.onMediaClicked(medialinks);
|
||||
}
|
||||
});
|
||||
}
|
||||
Button retweetButton = connect.findViewById(R.id.rt_button_detail);
|
||||
Button favoriteButton = connect.findViewById(R.id.fav_button_detail);
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.util.List;
|
|||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
||||
public class TwitterSearch extends AsyncTask<String, Void, Boolean> {
|
||||
|
||||
private TimelineRecycler searchAdapter;
|
||||
private UserRecycler userAdapter;
|
||||
|
@ -29,6 +29,7 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
private WeakReference<SearchPage> ui;
|
||||
private int highlight, font_color;
|
||||
private boolean imageLoad;
|
||||
private String errorMessage = "E: Twitter search, ";
|
||||
private int retryAfter = 0;
|
||||
|
||||
public TwitterSearch(Context context) {
|
||||
|
@ -58,7 +59,7 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
|
||||
|
||||
@Override
|
||||
protected Void doInBackground(String... search) {
|
||||
protected Boolean doInBackground(String... search) {
|
||||
String strSearch = search[0];
|
||||
long id = 1L;
|
||||
try {
|
||||
|
@ -79,32 +80,35 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
searchAdapter.setColor(highlight,font_color);
|
||||
searchAdapter.toggleImage(imageLoad);
|
||||
userAdapter.toggleImage(imageLoad);
|
||||
return true;
|
||||
|
||||
} catch (TwitterException err) {
|
||||
int errCode = err.getErrorCode();
|
||||
if(errCode == 420) {
|
||||
retryAfter = err.getRetryAfter();
|
||||
} else {
|
||||
String errorMessage = "E: " + err.getErrorMessage();
|
||||
errorMessage += err.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
}
|
||||
} catch(Exception err) {
|
||||
String errorMessage = "E: Twitter search, " + err.getMessage();
|
||||
errorMessage += err.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
}
|
||||
return null;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void v) {
|
||||
protected void onPostExecute(Boolean success) {
|
||||
SearchPage connect = ui.get();
|
||||
if(connect == null)
|
||||
return;
|
||||
if (retryAfter > 0) {
|
||||
Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show();
|
||||
if (!success) {
|
||||
if (retryAfter > 0)
|
||||
Toast.makeText(connect, R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show();
|
||||
else
|
||||
Toast.makeText(connect, errorMessage, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
SwipeRefreshLayout tweetReload = connect.findViewById(R.id.searchtweets);
|
||||
View circleLoad = connect.findViewById(R.id.search_progress);
|
||||
circleLoad.setVisibility(View.INVISIBLE);
|
||||
|
|
|
@ -29,6 +29,7 @@ public class UserLists extends AsyncTask <Long, Void, Boolean> {
|
|||
private UserRecycler usrAdp;
|
||||
private ErrorLog errorLog;
|
||||
private boolean imageLoad;
|
||||
private String errorMessage = "E: Userlist, ";
|
||||
private int retryAfter = 0;
|
||||
|
||||
/**
|
||||
|
@ -75,12 +76,12 @@ public class UserLists extends AsyncTask <Long, Void, Boolean> {
|
|||
if(errCode == 420) {
|
||||
retryAfter = err.getRetryAfter();
|
||||
} else {
|
||||
String errorMessage = "E: " + err.getMessage();
|
||||
errorMessage += err.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
}
|
||||
return false;
|
||||
} catch(Exception err) {
|
||||
String errorMessage = "E: Userlist, " + err.getMessage();
|
||||
errorMessage += err.getMessage();
|
||||
errorLog.add(errorMessage);
|
||||
return false;
|
||||
}
|
||||
|
@ -98,7 +99,9 @@ public class UserLists extends AsyncTask <Long, Void, Boolean> {
|
|||
usrAdp.notifyDataSetChanged();
|
||||
} else {
|
||||
if (retryAfter > 0)
|
||||
Toast.makeText(ui.get(), R.string.rate_limit_exceeded, Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(ui.get(), R.string.rate_limit_exceeded, Toast.LENGTH_SHORT).show();
|
||||
else
|
||||
Toast.makeText(ui.get(), errorMessage, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -13,6 +13,9 @@ import android.support.v7.app.AlertDialog;
|
|||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -43,13 +46,13 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
private ConnectivityManager mConnect;
|
||||
private GlobalSettings settings;
|
||||
private String username = "";
|
||||
private boolean isHome;
|
||||
private long userID = 0;
|
||||
private long tweetID = 0;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle b) {
|
||||
super.onCreate(b);
|
||||
|
||||
b = getIntent().getExtras();
|
||||
if (b != null) {
|
||||
tweetID = b.getLong("tweetID");
|
||||
|
@ -58,13 +61,17 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
}
|
||||
setContentView(R.layout.tweetpage);
|
||||
|
||||
Toolbar tool = findViewById(R.id.tweet_toolbar);
|
||||
setSupportActionBar(tool);
|
||||
if (getSupportActionBar() != null)
|
||||
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||
|
||||
settings = GlobalSettings.getInstance(this);
|
||||
boolean home = userID == settings.getUserId();
|
||||
isHome = userID == settings.getUserId();
|
||||
mConnect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
|
||||
View retweet = findViewById(R.id.rt_button_detail);
|
||||
View favorite = findViewById(R.id.fav_button_detail);
|
||||
View delete = findViewById(R.id.delete);
|
||||
View txtRt = findViewById(R.id.no_rt_detail);
|
||||
View txtFav = findViewById(R.id.no_fav_detail);
|
||||
View date = findViewById(R.id.timedetail);
|
||||
|
@ -73,16 +80,12 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
answerReload = findViewById(R.id.answer_reload);
|
||||
answer_list = findViewById(R.id.answer_list);
|
||||
answer_list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
|
||||
if(home) {
|
||||
delete.setVisibility(View.VISIBLE);
|
||||
}
|
||||
favorite.setOnClickListener(this);
|
||||
retweet.setOnClickListener(this);
|
||||
answerReload.setOnRefreshListener(this);
|
||||
txtFav.setOnClickListener(this);
|
||||
txtRt.setOnClickListener(this);
|
||||
date.setOnClickListener(this);
|
||||
delete.setOnClickListener(this);
|
||||
profile_img.setOnClickListener(this);
|
||||
answer.setOnClickListener(this);
|
||||
setContent();
|
||||
|
@ -103,6 +106,31 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu m) {
|
||||
getMenuInflater().inflate(R.menu.tweet, m); //TODO add more
|
||||
if (isHome) {
|
||||
m.findItem(R.id.delete_tweet).setVisible(true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.delete_tweet:
|
||||
AlertDialog.Builder alerta = new AlertDialog.Builder(this);
|
||||
alerta.setMessage(R.string.delete_tweet);
|
||||
alerta.setPositiveButton(R.string.yes_confirm, this);
|
||||
alerta.setNegativeButton(R.string.no_confirm, this);
|
||||
alerta.show();
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent;
|
||||
|
@ -133,18 +161,10 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
startActivity(intent);
|
||||
break;
|
||||
|
||||
case R.id.delete:
|
||||
AlertDialog.Builder alerta = new AlertDialog.Builder(this);
|
||||
alerta.setMessage(R.string.delete_tweet);
|
||||
alerta.setPositiveButton(R.string.yes_confirm, this);
|
||||
alerta.setNegativeButton(R.string.no_confirm, this);
|
||||
alerta.show();
|
||||
break;
|
||||
|
||||
case R.id.timedetail:
|
||||
if (mConnect.getActiveNetworkInfo() != null && mConnect.getActiveNetworkInfo().isConnected()) {
|
||||
intent = new Intent(Intent.ACTION_VIEW);
|
||||
String tweetLink = "https://twitter.com/" + username + "/status/" + tweetID;
|
||||
String tweetLink = "https://twitter.com/" + username.substring(1) + "/status/" + tweetID;
|
||||
intent.setData(Uri.parse(tweetLink));
|
||||
startActivity(intent);
|
||||
} else {
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
android:background="@android:color/transparent">
|
||||
|
||||
<android.support.design.widget.CollapsingToolbarLayout
|
||||
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:toolbarId="@+id/tweet_toolbar">
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -3,21 +3,18 @@
|
|||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<android.support.design.widget.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
android:fitsSystemWindows="false">
|
||||
android:background="@android:color/transparent">
|
||||
|
||||
<android.support.design.widget.CollapsingToolbarLayout
|
||||
android:id="@+id/tweet_detail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:toolbarId="@+id/tweet_toolbar">
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -26,6 +23,11 @@
|
|||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.Toolbar
|
||||
android:id="@+id/tweet_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/bar_wide" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/answer_reference_detail"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -152,8 +154,8 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/answer_button"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/chat" />
|
||||
|
||||
<TextView
|
||||
|
@ -169,8 +171,8 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/rt_button_detail"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/retweet" />
|
||||
|
||||
<TextView
|
||||
|
@ -186,8 +188,8 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/fav_button_detail"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/favorite" />
|
||||
|
||||
<TextView
|
||||
|
@ -201,13 +203,6 @@
|
|||
android:singleLine="true"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/delete"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:background="@drawable/cross"
|
||||
android:visibility="invisible" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.v4.widget.SwipeRefreshLayout
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:id="@+id/delete_tweet"
|
||||
android:title="@string/tweet_delete"
|
||||
android:visible="false" />
|
||||
</menu>
|
|
@ -40,4 +40,5 @@
|
|||
<string name="error_sending_tweet">Fehler beim Senden!</string>
|
||||
<string name="tweet_sent">Tweet gesendet</string>
|
||||
<string name="error">Fehler!</string>
|
||||
<string name="tweet_delete">Tweet löschen</string>
|
||||
</resources>
|
|
@ -48,4 +48,5 @@
|
|||
<string name="error_sending_tweet">error while sending</string>
|
||||
<string name="tweet_sent">tweet sent</string>
|
||||
<string name="error">Error!</string>
|
||||
<string name="tweet_delete">Delete</string>
|
||||
</resources>
|
Loading…
Reference in New Issue