removed redundant method call, bug fix, renamed class
This commit is contained in:
parent
ad6254ddaa
commit
e2fd3a98a2
|
@ -5,7 +5,6 @@
|
|||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="false"
|
||||
|
|
|
@ -97,7 +97,6 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
@Nullable
|
||||
private Tweet tweet;
|
||||
|
||||
private long tweetId;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle b) {
|
||||
|
@ -128,7 +127,7 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
Bundle param = getIntent().getExtras();
|
||||
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager());
|
||||
if (param != null) {
|
||||
tweetId = param.getLong(KEY_TWEET_ID);
|
||||
long tweetId = param.getLong(KEY_TWEET_ID);
|
||||
String username = param.getString(KEY_TWEET_NAME, "");
|
||||
adapter.setupTweetPage(tweetId, username);
|
||||
}
|
||||
|
@ -159,8 +158,8 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
super.onStart();
|
||||
Bundle param = getIntent().getExtras();
|
||||
if (statusAsync == null && param != null) {
|
||||
if (param.containsKey(KEY_TWEET_ID) && param.containsKey(KEY_TWEET_NAME)) {
|
||||
tweetId = param.getLong(KEY_TWEET_ID);
|
||||
if (param.containsKey(KEY_TWEET_ID)) {
|
||||
long tweetId = param.getLong(KEY_TWEET_ID);
|
||||
statusAsync = new TweetLoader(this, tweetId);
|
||||
statusAsync.execute(Action.LOAD);
|
||||
}
|
||||
|
@ -193,16 +192,15 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (statusAsync != null && tweet != null && statusAsync.getStatus() != RUNNING) {
|
||||
int itemId = item.getItemId();
|
||||
if (tweet != null && statusAsync != null && statusAsync.getStatus() != RUNNING) {
|
||||
// Delete tweet option
|
||||
if (itemId == R.id.delete_tweet) {
|
||||
if (item.getItemId() == R.id.delete_tweet) {
|
||||
if (!deleteDialog.isShowing()) {
|
||||
deleteDialog.show();
|
||||
}
|
||||
}
|
||||
// get tweet link
|
||||
else if (itemId == R.id.tweet_link) {
|
||||
else if (item.getItemId() == R.id.tweet_link) {
|
||||
String username = tweet.getUser().getScreenname().substring(1);
|
||||
String tweetLink = "https://twitter.com/" + username + "/status/" + tweet.getId();
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(tweetLink));
|
||||
|
@ -212,8 +210,8 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
Toast.makeText(this, R.string.error_connection_failed, LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
// copy tweet link to clipboeard
|
||||
else if (itemId == R.id.link_copy) {
|
||||
// copy tweet link to clipboard
|
||||
else if (item.getItemId() == R.id.link_copy) {
|
||||
String username = tweet.getUser().getScreenname().substring(1);
|
||||
String tweetLink = "https://twitter.com/" + username + "/status/" + tweet.getId();
|
||||
ClipboardManager clip = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
|
||||
|
@ -233,9 +231,8 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (statusAsync != null && tweet != null && statusAsync.getStatus() != RUNNING) {
|
||||
int viewId = v.getId();
|
||||
// answer to the tweet
|
||||
if (viewId == R.id.tweet_answer) {
|
||||
if (v.getId() == R.id.tweet_answer) {
|
||||
String tweetPrefix = tweet.getUser().getScreenname() + " ";
|
||||
Intent tweetPopup = new Intent(this, TweetPopup.class);
|
||||
tweetPopup.putExtra(KEY_TWEETPOPUP_REPLYID, tweet.getId());
|
||||
|
@ -243,14 +240,14 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
startActivity(tweetPopup);
|
||||
}
|
||||
// retweet tweet
|
||||
else if (viewId == R.id.tweet_retweet) {
|
||||
else if (v.getId() == R.id.tweet_retweet) {
|
||||
Intent userList = new Intent(this, UserDetail.class);
|
||||
userList.putExtra(KEY_USERDETAIL_ID, tweet.getId());
|
||||
userList.putExtra(KEY_USERDETAIL_MODE, USERLIST_RETWEETS);
|
||||
startActivity(userList);
|
||||
}
|
||||
// open profile of the tweet author
|
||||
else if (viewId == R.id.profileimage_detail) {
|
||||
else if (v.getId() == R.id.profileimage_detail) {
|
||||
if (tweet != null) {
|
||||
Intent profile = new Intent(getApplicationContext(), UserProfile.class);
|
||||
profile.putExtra(UserProfile.KEY_PROFILE_ID, tweet.getUser().getId());
|
||||
|
@ -258,7 +255,7 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
}
|
||||
}
|
||||
// open replied tweet
|
||||
else if (viewId == R.id.answer_reference_detail) {
|
||||
else if (v.getId() == R.id.answer_reference_detail) {
|
||||
if (tweet != null) {
|
||||
Intent answerIntent = new Intent(getApplicationContext(), TweetActivity.class);
|
||||
answerIntent.putExtra(KEY_TWEET_ID, tweet.getReplyId());
|
||||
|
@ -267,7 +264,7 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
}
|
||||
}
|
||||
// open tweet location coordinates
|
||||
else if (viewId == R.id.tweet_location_coordinate) {
|
||||
else if (v.getId() == R.id.tweet_location_coordinate) {
|
||||
if (tweet != null) {
|
||||
Intent locationIntent = new Intent(Intent.ACTION_VIEW);
|
||||
locationIntent.setData(Uri.parse("geo:" + tweet.getLocationCoordinates()));
|
||||
|
@ -279,7 +276,7 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
}
|
||||
}
|
||||
// open tweet media
|
||||
else if (viewId == R.id.tweet_media_attach) {
|
||||
else if (v.getId() == R.id.tweet_media_attach) {
|
||||
if (tweet != null) {
|
||||
Intent mediaIntent = new Intent(this, MediaViewer.class);
|
||||
mediaIntent.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
||||
|
@ -465,9 +462,10 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
/**
|
||||
* called after a tweet action
|
||||
*
|
||||
* @param action action type
|
||||
* @param action action type
|
||||
* @param tweetId ID of the tweet
|
||||
*/
|
||||
public void onAction(Action action) {
|
||||
public void onAction(Action action, long tweetId) {
|
||||
switch (action) {
|
||||
case RETWEET:
|
||||
Toast.makeText(this, R.string.info_tweet_retweeted, LENGTH_SHORT).show();
|
||||
|
@ -488,7 +486,7 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
case DELETE:
|
||||
Toast.makeText(this, R.string.info_tweet_removed, LENGTH_SHORT).show();
|
||||
Intent returnData = new Intent();
|
||||
returnData.putExtra(INTENT_TWEET_REMOVED_ID, tweet.getId());
|
||||
returnData.putExtra(INTENT_TWEET_REMOVED_ID, tweetId);
|
||||
setResult(RETURN_TWEET_CHANGED, returnData);
|
||||
finish();
|
||||
break;
|
||||
|
@ -498,9 +496,10 @@ public class TweetActivity extends AppCompatActivity implements OnClickListener,
|
|||
/**
|
||||
* called when an error occurs
|
||||
*
|
||||
* @param error Engine Exception
|
||||
* @param error Engine Exception7
|
||||
* @param tweetId ID of the tweet from which an error occurred
|
||||
*/
|
||||
public void onError(EngineException error) {
|
||||
public void onError(EngineException error, long tweetId) {
|
||||
ErrorHandler.handleFailure(this, error);
|
||||
if (error.resourceNotFound()) {
|
||||
Intent returnData = new Intent();
|
||||
|
|
|
@ -153,9 +153,9 @@ public class TweetLoader extends AsyncTask<TweetLoader.Action, Tweet, TweetLoade
|
|||
protected void onPostExecute(Action action) {
|
||||
if (callback.get() != null) {
|
||||
if (twException != null) {
|
||||
callback.get().onError(twException);
|
||||
callback.get().onError(twException, tweetId);
|
||||
} else {
|
||||
callback.get().onAction(action);
|
||||
callback.get().onAction(action, tweetId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public class TwitterListLoader extends AsyncTask<Long, Void, UserListList> {
|
|||
if (callback.get() != null) {
|
||||
if (result != null) {
|
||||
callback.get().setData(result);
|
||||
} else if (twException != null) {
|
||||
} else {
|
||||
callback.get().onError(twException);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import java.lang.ref.WeakReference;
|
|||
*
|
||||
* @see UserFragment
|
||||
*/
|
||||
public class UserListLoader extends AsyncTask<Long, Void, TwitterUserList> {
|
||||
public class UserLoader extends AsyncTask<Long, Void, TwitterUserList> {
|
||||
|
||||
public static final long NO_CURSOR = -1;
|
||||
|
||||
|
@ -65,7 +65,7 @@ public class UserListLoader extends AsyncTask<Long, Void, TwitterUserList> {
|
|||
private final long id;
|
||||
|
||||
|
||||
public UserListLoader(UserFragment callback, Action action, long id, String search) {
|
||||
public UserLoader(UserFragment callback, Action action, long id, String search) {
|
||||
super();
|
||||
this.callback = new WeakReference<>(callback);
|
||||
mTwitter = TwitterEngine.getInstance(callback.getContext());
|
|
@ -30,7 +30,7 @@ public abstract class ListFragment extends Fragment implements OnRefreshListener
|
|||
|
||||
private RecyclerView list;
|
||||
private SwipeRefreshLayout reload;
|
||||
private GlobalSettings settings;
|
||||
protected GlobalSettings settings;
|
||||
|
||||
private boolean refreshLock = false;
|
||||
|
||||
|
@ -66,19 +66,17 @@ public abstract class ListFragment extends Fragment implements OnRefreshListener
|
|||
*/
|
||||
protected void setRefresh(boolean enable) {
|
||||
refreshLock = !enable;
|
||||
if (reload != null) {
|
||||
if (enable) {
|
||||
reload.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!reload.isRefreshing() && !refreshLock) {
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
if (enable) {
|
||||
reload.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!reload.isRefreshing() && !refreshLock) {
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
}, REFRESH_DELAY);
|
||||
} else {
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
||||
}, REFRESH_DELAY);
|
||||
} else {
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ import static org.nuclearfog.twidda.backend.utils.DialogBuilder.DialogType.DEL_M
|
|||
*/
|
||||
public class MessageFragment extends ListFragment implements OnItemSelected, OnDialogClick {
|
||||
|
||||
private GlobalSettings settings;
|
||||
|
||||
private MessageListLoader messageTask;
|
||||
private MessageAdapter adapter;
|
||||
private Dialog deleteDialog;
|
||||
|
|
|
@ -21,9 +21,9 @@ import static org.nuclearfog.twidda.activity.SearchPage.KEY_SEARCH_QUERY;
|
|||
*/
|
||||
public class TrendFragment extends ListFragment implements TrendClickListener {
|
||||
|
||||
|
||||
private TrendListLoader trendTask;
|
||||
private TrendAdapter adapter;
|
||||
private GlobalSettings settings;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -62,7 +62,6 @@ public class TweetFragment extends ListFragment implements TweetClickListener {
|
|||
|
||||
private TweetListLoader tweetTask;
|
||||
private TweetAdapter adapter;
|
||||
private GlobalSettings settings;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -11,10 +11,10 @@ import org.nuclearfog.twidda.R;
|
|||
import org.nuclearfog.twidda.activity.UserProfile;
|
||||
import org.nuclearfog.twidda.adapter.UserAdapter;
|
||||
import org.nuclearfog.twidda.adapter.UserAdapter.UserClickListener;
|
||||
import org.nuclearfog.twidda.backend.UserListLoader;
|
||||
import org.nuclearfog.twidda.backend.UserListLoader.Action;
|
||||
import org.nuclearfog.twidda.backend.UserListManager;
|
||||
import org.nuclearfog.twidda.backend.UserListManager.ListManagerCallback;
|
||||
import org.nuclearfog.twidda.backend.UserLoader;
|
||||
import org.nuclearfog.twidda.backend.UserLoader.Action;
|
||||
import org.nuclearfog.twidda.backend.engine.EngineException;
|
||||
import org.nuclearfog.twidda.backend.holder.TwitterUserList;
|
||||
import org.nuclearfog.twidda.backend.items.TwitterUser;
|
||||
|
@ -25,8 +25,8 @@ import org.nuclearfog.twidda.database.GlobalSettings;
|
|||
|
||||
import static android.os.AsyncTask.Status.RUNNING;
|
||||
import static org.nuclearfog.twidda.activity.UserProfile.KEY_PROFILE_ID;
|
||||
import static org.nuclearfog.twidda.backend.UserListLoader.NO_CURSOR;
|
||||
import static org.nuclearfog.twidda.backend.UserListManager.Action.DEL_USER;
|
||||
import static org.nuclearfog.twidda.backend.UserLoader.NO_CURSOR;
|
||||
import static org.nuclearfog.twidda.backend.utils.DialogBuilder.DialogType.DEL_USER_LIST;
|
||||
|
||||
/**
|
||||
|
@ -91,9 +91,8 @@ public class UserFragment extends ListFragment implements UserClickListener,
|
|||
*/
|
||||
public static final int USER_FRAG_LISTS = 7;
|
||||
|
||||
private UserListLoader userTask;
|
||||
private UserLoader userTask;
|
||||
private UserListManager listTask;
|
||||
private GlobalSettings settings;
|
||||
|
||||
private Dialog deleteDialog;
|
||||
private UserAdapter adapter;
|
||||
|
@ -236,7 +235,7 @@ public class UserFragment extends ListFragment implements UserClickListener,
|
|||
/**
|
||||
* load content into the list
|
||||
*
|
||||
* @param cursor cursor of the list or {@link UserListLoader#NO_CURSOR} if there is none
|
||||
* @param cursor cursor of the list or {@link UserLoader#NO_CURSOR} if there is none
|
||||
*/
|
||||
private void load(long cursor) {
|
||||
Action action = Action.NONE;
|
||||
|
@ -270,7 +269,7 @@ public class UserFragment extends ListFragment implements UserClickListener,
|
|||
break;
|
||||
}
|
||||
adapter.enableDeleteButton(delUser);
|
||||
userTask = new UserListLoader(this, action, id, search);
|
||||
userTask = new UserLoader(this, action, id, search);
|
||||
userTask.execute(cursor);
|
||||
if (cursor == NO_CURSOR) {
|
||||
setRefresh(true);
|
||||
|
|
|
@ -73,7 +73,6 @@ public class UserListFragment extends ListFragment implements ListClickListener
|
|||
public static final int RETURN_LIST_REMOVED = 4;
|
||||
|
||||
private TwitterListLoader listTask;
|
||||
private GlobalSettings settings;
|
||||
private ListAdapter adapter;
|
||||
|
||||
|
||||
|
@ -173,7 +172,8 @@ public class UserListFragment extends ListFragment implements ListClickListener
|
|||
* @param error Twitter exception
|
||||
*/
|
||||
public void onError(@Nullable EngineException error) {
|
||||
ErrorHandler.handleFailure(requireContext(), error);
|
||||
if (error != null)
|
||||
ErrorHandler.handleFailure(requireContext(), error);
|
||||
adapter.disableLoading();
|
||||
setRefresh(false);
|
||||
}
|
||||
|
|
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
|
||||
|
|
Loading…
Reference in New Issue