code cleanup
This commit is contained in:
parent
d10cc8adef
commit
82489e2aba
|
@ -22,7 +22,7 @@ import android.widget.TabHost.TabSpec;
|
|||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TrendAdapter;
|
||||
import org.nuclearfog.twidda.backend.MainPage;
|
||||
import org.nuclearfog.twidda.backend.StartPage;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.window.AppSettings;
|
||||
|
@ -33,16 +33,16 @@ import org.nuclearfog.twidda.window.TweetPopup;
|
|||
import org.nuclearfog.twidda.window.UserProfile;
|
||||
|
||||
import static android.os.AsyncTask.Status.RUNNING;
|
||||
import static org.nuclearfog.twidda.backend.MainPage.Mode.DATA;
|
||||
import static org.nuclearfog.twidda.backend.MainPage.Mode.HOME;
|
||||
import static org.nuclearfog.twidda.backend.MainPage.Mode.MENT;
|
||||
import static org.nuclearfog.twidda.backend.MainPage.Mode.TRND;
|
||||
import static org.nuclearfog.twidda.backend.StartPage.Mode.DATA;
|
||||
import static org.nuclearfog.twidda.backend.StartPage.Mode.HOME;
|
||||
import static org.nuclearfog.twidda.backend.StartPage.Mode.MENT;
|
||||
import static org.nuclearfog.twidda.backend.StartPage.Mode.TRND;
|
||||
import static org.nuclearfog.twidda.window.TweetDetail.STAT_CHANGED;
|
||||
|
||||
/**
|
||||
* Main Activity
|
||||
*
|
||||
* @see MainPage
|
||||
* @see StartPage
|
||||
*/
|
||||
public class MainActivity extends AppCompatActivity implements OnRefreshListener,
|
||||
OnTabChangeListener, OnItemClickListener {
|
||||
|
@ -58,7 +58,7 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
private View lastTab, root;
|
||||
private TrendAdapter trendsAdapter;
|
||||
private GlobalSettings settings;
|
||||
private MainPage home;
|
||||
private StartPage mainAsync;
|
||||
private TabHost tabhost;
|
||||
private int tabIndex = 0;
|
||||
|
||||
|
@ -125,7 +125,7 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
if (!settings.getLogin()) {
|
||||
Intent i = new Intent(this, LoginPage.class);
|
||||
startActivityForResult(i, LOGIN);
|
||||
} else if (home == null) {
|
||||
} else if (mainAsync == null) {
|
||||
timelineAdapter = new TimelineAdapter(this);
|
||||
trendsAdapter = new TrendAdapter(this);
|
||||
mentionAdapter = new TimelineAdapter(this);
|
||||
|
@ -145,8 +145,8 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
trendList.setAdapter(trendsAdapter);
|
||||
mentionList.setAdapter(mentionAdapter);
|
||||
|
||||
home = new MainPage(this, DATA);
|
||||
home.execute(1);
|
||||
mainAsync = new StartPage(this, DATA);
|
||||
mainAsync.execute(1);
|
||||
|
||||
setIndicator();
|
||||
}
|
||||
|
@ -155,8 +155,8 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (home != null && home.getStatus() == RUNNING) {
|
||||
home.cancel(true);
|
||||
if (mainAsync != null && mainAsync.getStatus() == RUNNING) {
|
||||
mainAsync.cancel(true);
|
||||
}
|
||||
super.onStop();
|
||||
}
|
||||
|
@ -166,18 +166,17 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
protected void onActivityResult(int reqCode, int returnCode, Intent i) {
|
||||
switch (reqCode) {
|
||||
case LOGIN:
|
||||
if (returnCode == RESULT_CANCELED) {
|
||||
if (returnCode == RESULT_CANCELED)
|
||||
finish();
|
||||
}
|
||||
break;
|
||||
|
||||
case TWEET:
|
||||
if (returnCode == STAT_CHANGED)
|
||||
home = null;
|
||||
mainAsync = null;
|
||||
break;
|
||||
|
||||
case SETTING:
|
||||
home = null;
|
||||
mainAsync = null;
|
||||
break;
|
||||
}
|
||||
super.onActivityResult(reqCode, returnCode, i);
|
||||
|
@ -213,7 +212,6 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
MenuItem tweet = m.findItem(R.id.action_tweet);
|
||||
MenuItem search = m.findItem(R.id.action_search);
|
||||
MenuItem setting = m.findItem(R.id.action_settings);
|
||||
SearchView searchQuery = (SearchView) search.getActionView();
|
||||
|
||||
switch (tabIndex) {
|
||||
case 0:
|
||||
|
@ -232,7 +230,6 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
break;
|
||||
|
||||
case 2:
|
||||
searchQuery.onActionViewCollapsed();
|
||||
profile.setVisible(false);
|
||||
search.setVisible(false);
|
||||
tweet.setVisible(false);
|
||||
|
@ -261,8 +258,8 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
break;
|
||||
|
||||
case R.id.action_settings:
|
||||
if (home != null && home.getStatus() == RUNNING)
|
||||
home.cancel(true);
|
||||
if (mainAsync != null && mainAsync.getStatus() == RUNNING)
|
||||
mainAsync.cancel(true);
|
||||
Intent settings = new Intent(this, AppSettings.class);
|
||||
startActivityForResult(settings, SETTING);
|
||||
break;
|
||||
|
@ -283,19 +280,22 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
if (mainAsync != null && mainAsync.getStatus() == RUNNING)
|
||||
mainAsync.cancel(true);
|
||||
|
||||
switch (tabIndex) {
|
||||
default:
|
||||
case 0:
|
||||
home = new MainPage(this, HOME);
|
||||
mainAsync = new StartPage(this, HOME);
|
||||
break;
|
||||
case 1:
|
||||
home = new MainPage(this, TRND);
|
||||
mainAsync = new StartPage(this, TRND);
|
||||
break;
|
||||
case 2:
|
||||
home = new MainPage(this, MENT);
|
||||
mainAsync = new StartPage(this, MENT);
|
||||
break;
|
||||
}
|
||||
home.execute(1);
|
||||
mainAsync.execute(1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -316,7 +316,7 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
Tweet tweet = timelineAdapter.getData(position);
|
||||
if (tweet.getEmbeddedTweet() != null)
|
||||
tweet = tweet.getEmbeddedTweet();
|
||||
openTweet(tweet.getId(), tweet.getUser().getId(), tweet.getUser().getScreenname());
|
||||
openTweet(tweet.getId(), tweet.getUser().getScreenname());
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -336,7 +336,7 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
Tweet tweet = mentionAdapter.getData(position);
|
||||
if (tweet.getEmbeddedTweet() != null)
|
||||
tweet = tweet.getEmbeddedTweet();
|
||||
openTweet(tweet.getId(), tweet.getUser().getId(), tweet.getUser().getScreenname());
|
||||
openTweet(tweet.getId(), tweet.getUser().getScreenname());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -366,10 +366,9 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
}
|
||||
|
||||
|
||||
private void openTweet(long tweetId, long userId, String username) {
|
||||
private void openTweet(long tweetId, String username) {
|
||||
Intent intent = new Intent(this, TweetDetail.class);
|
||||
intent.putExtra("tweetID", tweetId);
|
||||
intent.putExtra("userID", userId);
|
||||
intent.putExtra("username", username);
|
||||
startActivityForResult(intent, TWEET);
|
||||
}
|
||||
|
|
|
@ -18,14 +18,14 @@ import java.lang.ref.WeakReference;
|
|||
import java.net.URL;
|
||||
|
||||
|
||||
public class ImageLoad extends AsyncTask<String, Void, Boolean> {
|
||||
public class ImageLoader extends AsyncTask<String, Void, Boolean> {
|
||||
|
||||
private WeakReference<ImageDetail> ui;
|
||||
private ImageAdapter imageAdapter;
|
||||
private Bitmap images[];
|
||||
|
||||
|
||||
public ImageLoad(@NonNull ImageDetail context) {
|
||||
public ImageLoader(@NonNull ImageDetail context) {
|
||||
ui = new WeakReference<>(context);
|
||||
RecyclerView imageList = context.findViewById(R.id.image_list);
|
||||
imageAdapter = (ImageAdapter) imageList.getAdapter();
|
|
@ -73,10 +73,12 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
|||
break;
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
if (err.getErrorCode() == 34)
|
||||
if (err.getErrorCode() == 34) {
|
||||
mData.deleteDm(messageId);
|
||||
this.err = err;
|
||||
failure = true;
|
||||
} else {
|
||||
this.err = err;
|
||||
failure = true;
|
||||
}
|
||||
} catch (Exception err) {
|
||||
if(err.getMessage() != null)
|
||||
Log.e("Direct Message", err.getMessage());
|
||||
|
@ -98,10 +100,8 @@ public class MessageLoader extends AsyncTask<Long, Void, Void> {
|
|||
mAdapter.setData(message);
|
||||
mAdapter.notifyDataSetChanged();
|
||||
|
||||
if (failure) {
|
||||
if (err != null && err.getErrorCode() != 34)
|
||||
ErrorHandler.printError(ui.get(), err);
|
||||
}
|
||||
if (failure)
|
||||
ErrorHandler.printError(ui.get(), err);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.nuclearfog.twidda.backend.items.Tweet;
|
|||
import org.nuclearfog.twidda.backend.items.TwitterUser;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.window.ImageDetail;
|
||||
import org.nuclearfog.twidda.window.UserDetail;
|
||||
import org.nuclearfog.twidda.window.UserProfile;
|
||||
|
||||
|
@ -34,8 +35,8 @@ import java.util.List;
|
|||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import static android.view.View.VISIBLE;
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
|
||||
public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
||||
|
@ -300,7 +301,10 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
|||
profile.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
ui.get().imageClick(user.getImageLink());
|
||||
Intent image = new Intent(ui.get(), ImageDetail.class);
|
||||
image.putExtra("link", new String[]{user.getImageLink()});
|
||||
ui.get().startActivity(image);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ import java.util.List;
|
|||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
public class MainPage extends AsyncTask<Integer, Void, Void> {
|
||||
public class StartPage extends AsyncTask<Integer, Void, Void> {
|
||||
|
||||
public enum Mode {
|
||||
DATA,
|
||||
|
@ -45,7 +45,7 @@ public class MainPage extends AsyncTask<Integer, Void, Void> {
|
|||
private int woeId;
|
||||
|
||||
|
||||
public MainPage(@NonNull MainActivity context, Mode mode) {
|
||||
public StartPage(@NonNull MainActivity context, Mode mode) {
|
||||
ui = new WeakReference<>(context);
|
||||
mTwitter = TwitterEngine.getInstance(context);
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
|
@ -19,7 +19,7 @@ import java.lang.ref.WeakReference;
|
|||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
public class StatusUpload extends AsyncTask<String, Void, Boolean> {
|
||||
public class StatusUploader extends AsyncTask<String, Void, Boolean> {
|
||||
|
||||
private WeakReference<TweetPopup> ui;
|
||||
private TwitterEngine mTwitter;
|
||||
|
@ -30,7 +30,7 @@ public class StatusUpload extends AsyncTask<String, Void, Boolean> {
|
|||
private long replyId;
|
||||
|
||||
|
||||
public StatusUpload(@NonNull TweetPopup context, String tweet, long replyId) {
|
||||
public StatusUploader(@NonNull TweetPopup context, String tweet, long replyId) {
|
||||
ui = new WeakReference<>(context);
|
||||
mTwitter = TwitterEngine.getInstance(context);
|
||||
inflater = LayoutInflater.from(context);
|
|
@ -33,7 +33,7 @@ import static org.nuclearfog.twidda.backend.MessageLoader.Mode.LDR;
|
|||
*/
|
||||
public class DirectMessage extends AppCompatActivity implements OnRefreshListener, OnItemSelected {
|
||||
|
||||
private MessageLoader mLoader;
|
||||
private MessageLoader messageAsync;
|
||||
private MessageAdapter mAdapter;
|
||||
private SwipeRefreshLayout messageRefresh;
|
||||
private GlobalSettings settings;
|
||||
|
@ -66,21 +66,21 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mLoader == null) {
|
||||
if (messageAsync == null) {
|
||||
mAdapter = new MessageAdapter(this);
|
||||
mAdapter.setColor(settings.getFontColor(), settings.getHighlightColor());
|
||||
mAdapter.setImageLoad(settings.getImageLoad());
|
||||
dmList.setAdapter(mAdapter);
|
||||
mLoader = new MessageLoader(this, LDR);
|
||||
mLoader.execute();
|
||||
messageAsync = new MessageLoader(this, LDR);
|
||||
messageAsync.execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (mLoader != null && mLoader.getStatus() == RUNNING) {
|
||||
mLoader.cancel(true);
|
||||
if (messageAsync != null && messageAsync.getStatus() == RUNNING) {
|
||||
messageAsync.cancel(true);
|
||||
}
|
||||
super.onStop();
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (mLoader != null && mLoader.getStatus() != RUNNING) {
|
||||
if (messageAsync != null && messageAsync.getStatus() != RUNNING) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.message:
|
||||
Intent sendDm = new Intent(this, MessagePopup.class);
|
||||
|
@ -128,8 +128,8 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
|
|||
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
mLoader = new MessageLoader(DirectMessage.this, DEL);
|
||||
mLoader.execute(messageId);
|
||||
messageAsync = new MessageLoader(DirectMessage.this, DEL);
|
||||
messageAsync.execute(messageId);
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
mLoader = new MessageLoader(this, GET);
|
||||
mLoader.execute();
|
||||
messageAsync = new MessageLoader(this, GET);
|
||||
messageAsync.execute();
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ import android.widget.Toast;
|
|||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.ImageAdapter;
|
||||
import org.nuclearfog.twidda.adapter.ImageAdapter.OnImageClickListener;
|
||||
import org.nuclearfog.twidda.backend.ImageLoad;
|
||||
import org.nuclearfog.twidda.backend.ImageLoader;
|
||||
import org.nuclearfog.zoomview.ZoomView;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -30,12 +30,12 @@ import static android.support.v7.widget.LinearLayoutManager.HORIZONTAL;
|
|||
|
||||
|
||||
/**
|
||||
* @see ImageLoad
|
||||
* @see ImageLoader
|
||||
*/
|
||||
public class ImageDetail extends AppCompatActivity implements OnImageClickListener {
|
||||
|
||||
boolean storable = true;
|
||||
private ImageLoad mImage;
|
||||
private ImageLoader imageAsync;
|
||||
private ZoomView zoomImage;
|
||||
private String link[];
|
||||
private int width;
|
||||
|
@ -66,17 +66,17 @@ public class ImageDetail extends AppCompatActivity implements OnImageClickListen
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mImage == null) {
|
||||
mImage = new ImageLoad(this);
|
||||
mImage.execute(link);
|
||||
if (imageAsync == null) {
|
||||
imageAsync = new ImageLoader(this);
|
||||
imageAsync.execute(link);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (mImage != null && mImage.getStatus() == RUNNING)
|
||||
mImage.cancel(true);
|
||||
if (imageAsync != null && imageAsync.getStatus() == RUNNING)
|
||||
imageAsync.cancel(true);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import static android.os.AsyncTask.Status.RUNNING;
|
|||
*/
|
||||
public class LoginPage extends AppCompatActivity implements OnClickListener {
|
||||
|
||||
private Registration register;
|
||||
private Registration registerAsync;
|
||||
private EditText pin;
|
||||
|
||||
@Override
|
||||
|
@ -40,8 +40,8 @@ public class LoginPage extends AppCompatActivity implements OnClickListener {
|
|||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (register != null && register.getStatus() == RUNNING)
|
||||
register.cancel(true);
|
||||
if (registerAsync != null && registerAsync.getStatus() == RUNNING)
|
||||
registerAsync.cancel(true);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
|
@ -55,20 +55,20 @@ public class LoginPage extends AppCompatActivity implements OnClickListener {
|
|||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (register != null && register.getStatus() == RUNNING)
|
||||
register.cancel(true);
|
||||
if (registerAsync != null && registerAsync.getStatus() == RUNNING)
|
||||
registerAsync.cancel(true);
|
||||
|
||||
switch (v.getId()) {
|
||||
case R.id.linkButton:
|
||||
register = new Registration(this);
|
||||
register.execute("");
|
||||
registerAsync = new Registration(this);
|
||||
registerAsync.execute("");
|
||||
break;
|
||||
|
||||
case R.id.get:
|
||||
String twitterPin = pin.getText().toString();
|
||||
if (!twitterPin.trim().isEmpty()) {
|
||||
register = new Registration(this);
|
||||
register.execute(twitterPin);
|
||||
registerAsync = new Registration(this);
|
||||
registerAsync.execute(twitterPin);
|
||||
} else {
|
||||
Toast.makeText(this, R.string.enter_pin, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ import static android.os.AsyncTask.Status.RUNNING;
|
|||
*/
|
||||
public class MessagePopup extends AppCompatActivity implements View.OnClickListener {
|
||||
|
||||
private MessageUpload upload;
|
||||
private MessageUpload messageAsync;
|
||||
private EditText receiver, text;
|
||||
private String mediaPath = "";
|
||||
|
||||
|
@ -69,8 +69,8 @@ public class MessagePopup extends AppCompatActivity implements View.OnClickListe
|
|||
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (upload != null && upload.getStatus() == RUNNING)
|
||||
upload.cancel(true);
|
||||
if (messageAsync != null && messageAsync.getStatus() == RUNNING)
|
||||
messageAsync.cancel(true);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
@ -107,8 +107,8 @@ public class MessagePopup extends AppCompatActivity implements View.OnClickListe
|
|||
String username = receiver.getText().toString();
|
||||
String message = text.getText().toString();
|
||||
if (!username.trim().isEmpty() && (!message.trim().isEmpty() || !mediaPath.isEmpty())) {
|
||||
upload = new MessageUpload(this);
|
||||
upload.execute(username, message, mediaPath);
|
||||
messageAsync = new MessageUpload(this);
|
||||
messageAsync.execute(username, message, mediaPath);
|
||||
} else {
|
||||
Toast.makeText(this, R.string.error_dm, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ import static org.nuclearfog.twidda.backend.ProfileEditor.Mode.WRITE_DATA;
|
|||
*/
|
||||
public class ProfileEdit extends AppCompatActivity implements View.OnClickListener {
|
||||
|
||||
private ProfileEditor mEdit;
|
||||
private ProfileEditor editorAsync;
|
||||
private TextView txtImg;
|
||||
|
||||
@Override
|
||||
|
@ -60,17 +60,17 @@ public class ProfileEdit extends AppCompatActivity implements View.OnClickListen
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mEdit == null) {
|
||||
mEdit = new ProfileEditor(this, READ_DATA);
|
||||
mEdit.execute();
|
||||
if (editorAsync == null) {
|
||||
editorAsync = new ProfileEditor(this, READ_DATA);
|
||||
editorAsync.execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (mEdit != null && mEdit.getStatus() == AsyncTask.Status.RUNNING)
|
||||
mEdit.cancel(true);
|
||||
if (editorAsync != null && editorAsync.getStatus() == AsyncTask.Status.RUNNING)
|
||||
editorAsync.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class ProfileEdit extends AppCompatActivity implements View.OnClickListen
|
|||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_save:
|
||||
if (mEdit == null || mEdit.getStatus() != RUNNING) {
|
||||
if (editorAsync == null || editorAsync.getStatus() != RUNNING) {
|
||||
save();
|
||||
}
|
||||
break;
|
||||
|
@ -146,10 +146,10 @@ public class ProfileEdit extends AppCompatActivity implements View.OnClickListen
|
|||
if (name.getText().toString().trim().isEmpty()) {
|
||||
Toast.makeText(this, R.string.edit_empty_name, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
if (mEdit != null && mEdit.getStatus() == RUNNING)
|
||||
mEdit.cancel(true);
|
||||
mEdit = new ProfileEditor(this, WRITE_DATA);
|
||||
mEdit.execute();
|
||||
if (editorAsync != null && editorAsync.getStatus() == RUNNING)
|
||||
editorAsync.cancel(true);
|
||||
editorAsync = new ProfileEditor(this, WRITE_DATA);
|
||||
editorAsync.execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
private UserAdapter userAdapter;
|
||||
private SwipeRefreshLayout tweetReload;
|
||||
private GlobalSettings settings;
|
||||
private TwitterSearch mSearch;
|
||||
private TwitterSearch searchAsync;
|
||||
private View lastView, twUnderline, usUnderline;
|
||||
private TabHost tabhost;
|
||||
private String search = "";
|
||||
|
@ -76,7 +76,6 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
View usIndicator = inflater.inflate(R.layout.tab_us, null);
|
||||
twUnderline = twIndicator.findViewById(R.id.ts_divider);
|
||||
usUnderline = usIndicator.findViewById(R.id.us_divider);
|
||||
twUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
tweetReload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
|
||||
tabhost.setup();
|
||||
|
@ -84,12 +83,12 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
tab1.setContent(R.id.searchtweets);
|
||||
tab1.setIndicator(twIndicator);
|
||||
tabhost.addTab(tab1);
|
||||
|
||||
TabHost.TabSpec tab2 = tabhost.newTabSpec("user_result");
|
||||
tab2.setContent(R.id.user_result);
|
||||
tab2.setIndicator(usIndicator);
|
||||
tabhost.addTab(tab2);
|
||||
lastView = tabhost.getCurrentView();
|
||||
setIndicator();
|
||||
|
||||
tweetSearch.setLayoutManager(new LinearLayoutManager(this));
|
||||
userSearch.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
@ -102,7 +101,7 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mSearch == null) {
|
||||
if (searchAsync == null) {
|
||||
searchAdapter = new TimelineAdapter(this);
|
||||
searchAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
searchAdapter.toggleImage(settings.getImageLoad());
|
||||
|
@ -113,16 +112,16 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
userAdapter.setColor(settings.getFontColor());
|
||||
userSearch.setAdapter(userAdapter);
|
||||
|
||||
mSearch = new TwitterSearch(this);
|
||||
mSearch.execute(search);
|
||||
searchAsync = new TwitterSearch(this);
|
||||
searchAsync.execute(search);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (mSearch != null && mSearch.getStatus() == RUNNING)
|
||||
mSearch.cancel(true);
|
||||
if (searchAsync != null && searchAsync.getStatus() == RUNNING)
|
||||
searchAsync.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -181,7 +180,6 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
Tweet tweet = searchAdapter.getData(position);
|
||||
Intent tweetdetail = new Intent(this, TweetDetail.class);
|
||||
tweetdetail.putExtra("tweetID", tweet.getId());
|
||||
tweetdetail.putExtra("userID", tweet.getUser().getId());
|
||||
tweetdetail.putExtra("username", tweet.getUser().getScreenname());
|
||||
startActivity(tweetdetail);
|
||||
break;
|
||||
|
@ -200,8 +198,10 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
mSearch = new TwitterSearch(this);
|
||||
mSearch.execute(search);
|
||||
if (searchAsync != null && searchAsync.getStatus() == RUNNING)
|
||||
searchAsync.cancel(true);
|
||||
searchAsync = new TwitterSearch(this);
|
||||
searchAsync.execute(search);
|
||||
}
|
||||
|
||||
|
||||
|
@ -209,14 +209,20 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
public void onTabChanged(String tabId) {
|
||||
animate();
|
||||
tabIndex = tabhost.getCurrentTab();
|
||||
setIndicator();
|
||||
}
|
||||
|
||||
|
||||
private void setIndicator() {
|
||||
switch (tabIndex) {
|
||||
case 0:
|
||||
twUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
usUnderline.setBackgroundColor(0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
usUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
twUnderline.setBackgroundResource(0);
|
||||
twUnderline.setBackgroundColor(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
private RecyclerView answer_list;
|
||||
private TimelineAdapter answerAdapter;
|
||||
private StatusLoader mStat;
|
||||
private StatusLoader statusAsync;
|
||||
private GlobalSettings settings;
|
||||
private SwipeRefreshLayout answerReload;
|
||||
private ConnectivityManager mConnect;
|
||||
|
@ -118,21 +118,21 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mStat == null) {
|
||||
if (statusAsync == null) {
|
||||
answerAdapter = new TimelineAdapter(this);
|
||||
answerAdapter.toggleImage(settings.getImageLoad());
|
||||
answerAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
answer_list.setAdapter(answerAdapter);
|
||||
mStat = new StatusLoader(this, LOAD);
|
||||
mStat.execute(tweetID);
|
||||
statusAsync = new StatusLoader(this, LOAD);
|
||||
statusAsync.execute(tweetID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (mStat != null && mStat.getStatus() == RUNNING)
|
||||
mStat.cancel(true);
|
||||
if (statusAsync != null && statusAsync.getStatus() == RUNNING)
|
||||
statusAsync.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
@Override
|
||||
protected void onActivityResult(int reqCode, int returnCode, Intent i) {
|
||||
if (reqCode == TWEET && returnCode == STAT_CHANGED) {
|
||||
mStat = null;
|
||||
statusAsync = null;
|
||||
}
|
||||
super.onActivityResult(reqCode, returnCode, i);
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(mStat != null && mStat.getStatus() != RUNNING) {
|
||||
if (statusAsync != null && statusAsync.getStatus() != RUNNING) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.delete_tweet:
|
||||
Builder deleteDialog = new Builder(this);
|
||||
|
@ -171,10 +171,10 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
deleteDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (mStat != null && mStat.getStatus() == RUNNING)
|
||||
mStat.cancel(true);
|
||||
mStat = new StatusLoader(TweetDetail.this, DELETE);
|
||||
mStat.execute(tweetID);
|
||||
if (statusAsync != null && statusAsync.getStatus() == RUNNING)
|
||||
statusAsync.cancel(true);
|
||||
statusAsync = new StatusLoader(TweetDetail.this, DELETE);
|
||||
statusAsync.execute(tweetID);
|
||||
}
|
||||
});
|
||||
deleteDialog.setNegativeButton(R.string.no_confirm, null);
|
||||
|
@ -207,21 +207,21 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mStat != null && mStat.getStatus() != RUNNING) {
|
||||
if (statusAsync != null && statusAsync.getStatus() != RUNNING) {
|
||||
switch (v.getId()) {
|
||||
case R.id.rt_button_detail:
|
||||
if (mStat != null && mStat.getStatus() == RUNNING)
|
||||
mStat.cancel(true);
|
||||
mStat = new StatusLoader(this, RETWEET);
|
||||
mStat.execute(tweetID);
|
||||
if (statusAsync != null && statusAsync.getStatus() == RUNNING)
|
||||
statusAsync.cancel(true);
|
||||
statusAsync = new StatusLoader(this, RETWEET);
|
||||
statusAsync.execute(tweetID);
|
||||
Toast.makeText(this, R.string.loading, Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
|
||||
case R.id.fav_button_detail:
|
||||
if (mStat != null && mStat.getStatus() == RUNNING)
|
||||
mStat.cancel(true);
|
||||
mStat = new StatusLoader(this, FAVORITE);
|
||||
mStat.execute(tweetID);
|
||||
if (statusAsync != null && statusAsync.getStatus() == RUNNING)
|
||||
statusAsync.cancel(true);
|
||||
statusAsync = new StatusLoader(this, FAVORITE);
|
||||
statusAsync.execute(tweetID);
|
||||
Toast.makeText(this, R.string.loading, Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
|
||||
|
@ -273,8 +273,8 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
mStat = new StatusLoader(this, ANS);
|
||||
mStat.execute(tweetID);
|
||||
statusAsync = new StatusLoader(this, ANS);
|
||||
statusAsync.execute(tweetID);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.backend.StatusUpload;
|
||||
import org.nuclearfog.twidda.backend.StatusUploader;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -31,11 +31,11 @@ import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
|||
/**
|
||||
* Tweet Window
|
||||
*
|
||||
* @see StatusUpload
|
||||
* @see StatusUploader
|
||||
*/
|
||||
public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
|
||||
private StatusUpload sendTweet;
|
||||
private StatusUploader uploaderAsync;
|
||||
private View imageButton, previewBtn;
|
||||
private List<String> mediaPath;
|
||||
private TextView imgCount;
|
||||
|
@ -81,8 +81,8 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
|||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (sendTweet != null && sendTweet.getStatus() == RUNNING)
|
||||
sendTweet.cancel(true);
|
||||
if (uploaderAsync != null && uploaderAsync.getStatus() == RUNNING)
|
||||
uploaderAsync.cancel(true);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
|
@ -132,9 +132,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 (uploaderAsync != null && uploaderAsync.getStatus() == RUNNING)
|
||||
uploaderAsync.cancel(true);
|
||||
uploaderAsync = new StatusUploader(this, tweetStr, inReplyId);
|
||||
|
||||
if (tweetStr.trim().isEmpty() && mediaPath.isEmpty()) {
|
||||
Toast.makeText(this, R.string.empty_tweet, Toast.LENGTH_SHORT).show();
|
||||
|
@ -143,9 +143,9 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
|||
} else if (!mediaPath.isEmpty()) {
|
||||
String[] paths = new String[mediaPath.size()];
|
||||
paths = mediaPath.toArray(paths);
|
||||
sendTweet.execute(paths);
|
||||
uploaderAsync.execute(paths);
|
||||
} else {
|
||||
sendTweet.execute();
|
||||
uploaderAsync.execute();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public class UserDetail extends AppCompatActivity implements OnItemClickListener
|
|||
private SwipeRefreshLayout userReload;
|
||||
private UserAdapter usrAdp;
|
||||
private GlobalSettings settings;
|
||||
private UserLoader uList;
|
||||
private UserLoader userAsync;
|
||||
private int mode;
|
||||
private long id;
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class UserDetail extends AppCompatActivity implements OnItemClickListener
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (uList == null) {
|
||||
if (userAsync == null) {
|
||||
int titleId;
|
||||
usrAdp = new UserAdapter(this);
|
||||
usrAdp.toggleImage(settings.getImageLoad());
|
||||
|
@ -79,26 +79,26 @@ public class UserDetail extends AppCompatActivity implements OnItemClickListener
|
|||
switch (mode) {
|
||||
case 0:
|
||||
titleId = R.string.following;
|
||||
uList = new UserLoader(UserDetail.this, FOLLOWING);
|
||||
userAsync = new UserLoader(UserDetail.this, FOLLOWING);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
titleId = R.string.follower;
|
||||
uList = new UserLoader(UserDetail.this, FOLLOWERS);
|
||||
userAsync = new UserLoader(UserDetail.this, FOLLOWERS);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
titleId = R.string.retweet;
|
||||
uList = new UserLoader(UserDetail.this, RETWEET);
|
||||
userAsync = new UserLoader(UserDetail.this, RETWEET);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
default:
|
||||
titleId = R.string.favorite;
|
||||
uList = new UserLoader(UserDetail.this, FAVORIT);
|
||||
userAsync = new UserLoader(UserDetail.this, FAVORIT);
|
||||
break;
|
||||
}
|
||||
uList.execute(id, -1L);
|
||||
userAsync.execute(id, -1L);
|
||||
|
||||
if (getSupportActionBar() != null) {
|
||||
getSupportActionBar().setTitle(titleId);
|
||||
|
@ -109,8 +109,8 @@ public class UserDetail extends AppCompatActivity implements OnItemClickListener
|
|||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (uList != null && uList.getStatus() == RUNNING)
|
||||
uList.cancel(true);
|
||||
if (userAsync != null && userAsync.getStatus() == RUNNING)
|
||||
userAsync.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -133,19 +133,19 @@ public class UserDetail extends AppCompatActivity implements OnItemClickListener
|
|||
public void onRefresh() {
|
||||
switch(mode) {
|
||||
case 0:
|
||||
uList = new UserLoader(UserDetail.this, FOLLOWING);
|
||||
userAsync = new UserLoader(UserDetail.this, FOLLOWING);
|
||||
break;
|
||||
case 1:
|
||||
uList = new UserLoader(UserDetail.this, FOLLOWERS);
|
||||
userAsync = new UserLoader(UserDetail.this, FOLLOWERS);
|
||||
break;
|
||||
case 2:
|
||||
uList = new UserLoader(UserDetail.this, RETWEET);
|
||||
userAsync = new UserLoader(UserDetail.this, RETWEET);
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
uList = new UserLoader(UserDetail.this, FAVORIT);
|
||||
userAsync = new UserLoader(UserDetail.this, FAVORIT);
|
||||
break;
|
||||
}
|
||||
uList.execute(id, -1L);
|
||||
userAsync.execute(id, -1L);
|
||||
}
|
||||
}
|
|
@ -44,7 +44,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
|
||||
private static final int TWEET = 1;
|
||||
|
||||
private ProfileLoader mProfile;
|
||||
private ProfileLoader profileAsync;
|
||||
private GlobalSettings settings;
|
||||
private RecyclerView homeList, favoriteList;
|
||||
private TimelineAdapter tweetAdapter, favAdapter;
|
||||
|
@ -103,7 +103,6 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
favorUnderline = favorIndicator.findViewById(R.id.favor_divider);
|
||||
tweetCount = tweetIndicator.findViewById(R.id.profile_tweet_count);
|
||||
favorCount = favorIndicator.findViewById(R.id.profile_favor_count);
|
||||
tweetUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
homeReload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
favoriteReload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
|
||||
|
@ -117,6 +116,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
tab2.setIndicator(favorIndicator);
|
||||
mTab.addTab(tab2);
|
||||
lastTab = mTab.getCurrentView();
|
||||
setIndicator();
|
||||
|
||||
mTab.setOnTabChangedListener(this);
|
||||
homeReload.setOnRefreshListener(this);
|
||||
|
@ -127,7 +127,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mProfile == null) {
|
||||
if (profileAsync == null) {
|
||||
tweetAdapter = new TimelineAdapter(this);
|
||||
tweetAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
tweetAdapter.toggleImage(settings.getImageLoad());
|
||||
|
@ -138,16 +138,16 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
favAdapter.toggleImage(settings.getImageLoad());
|
||||
favoriteList.setAdapter(favAdapter);
|
||||
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.LDR_PROFILE);
|
||||
mProfile.execute(userId, 0L);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.LDR_PROFILE);
|
||||
profileAsync.execute(userId, 0L);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
if (mProfile != null && mProfile.getStatus() == RUNNING)
|
||||
mProfile.cancel(true);
|
||||
if (profileAsync != null && profileAsync.getStatus() == RUNNING)
|
||||
profileAsync.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
@Override
|
||||
protected void onActivityResult(int reqCode, int returnCode, Intent i) {
|
||||
if (reqCode == TWEET && returnCode == STAT_CHANGED) {
|
||||
mProfile = null;
|
||||
profileAsync = null;
|
||||
}
|
||||
super.onActivityResult(reqCode, returnCode, i);
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (mProfile != null && mProfile.getStatus() != RUNNING) {
|
||||
if (profileAsync != null && profileAsync.getStatus() != RUNNING) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.profile_tweet:
|
||||
Intent tweet = new Intent(this, TweetPopup.class);
|
||||
|
@ -224,16 +224,16 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
break;
|
||||
|
||||
case R.id.profile_follow:
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.ACTION_FOLLOW);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.ACTION_FOLLOW);
|
||||
if (!isFollowing) {
|
||||
mProfile.execute(userId);
|
||||
profileAsync.execute(userId);
|
||||
} else {
|
||||
new Builder(this).setMessage(R.string.confirm_unfollow)
|
||||
.setNegativeButton(R.string.no_confirm, null)
|
||||
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
mProfile.execute(userId);
|
||||
profileAsync.execute(userId);
|
||||
}
|
||||
})
|
||||
.show();
|
||||
|
@ -241,16 +241,16 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
break;
|
||||
|
||||
case R.id.profile_block:
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.ACTION_BLOCK);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.ACTION_BLOCK);
|
||||
if (isBlocked) {
|
||||
mProfile.execute(userId);
|
||||
profileAsync.execute(userId);
|
||||
} else {
|
||||
new Builder(this).setMessage(R.string.confirm_block)
|
||||
.setNegativeButton(R.string.no_confirm, null)
|
||||
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
mProfile.execute(userId);
|
||||
profileAsync.execute(userId);
|
||||
}
|
||||
})
|
||||
.show();
|
||||
|
@ -258,8 +258,8 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
break;
|
||||
|
||||
case R.id.profile_mute:
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.ACTION_MUTE);
|
||||
mProfile.execute(userId);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.ACTION_MUTE);
|
||||
profileAsync.execute(userId);
|
||||
break;
|
||||
|
||||
case R.id.profile_message:
|
||||
|
@ -276,7 +276,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
case R.id.profile_settings:
|
||||
Intent editProfile = new Intent(this, ProfileEdit.class);
|
||||
startActivity(editProfile);
|
||||
mProfile = null;
|
||||
profileAsync = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -296,16 +296,18 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
if (profileAsync != null && profileAsync.getStatus() == RUNNING)
|
||||
profileAsync.cancel(true);
|
||||
switch (tabIndex) {
|
||||
default:
|
||||
case 0:
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.GET_TWEETS);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.GET_TWEETS);
|
||||
break;
|
||||
case 1:
|
||||
mProfile = new ProfileLoader(this, ProfileLoader.Mode.GET_FAVORS);
|
||||
profileAsync = new ProfileLoader(this, ProfileLoader.Mode.GET_FAVORS);
|
||||
break;
|
||||
}
|
||||
mProfile.execute(userId);
|
||||
profileAsync.execute(userId);
|
||||
}
|
||||
|
||||
|
||||
|
@ -313,19 +315,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
public void onTabChanged(String tabId) {
|
||||
animate();
|
||||
tabIndex = mTab.getCurrentTab();
|
||||
switch (tabIndex) {
|
||||
case 0:
|
||||
favoriteList.smoothScrollToPosition(0);
|
||||
tweetUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
favorUnderline.setBackgroundColor(0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
homeList.smoothScrollToPosition(0);
|
||||
favorUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
tweetUnderline.setBackgroundColor(0);
|
||||
break;
|
||||
}
|
||||
setIndicator();
|
||||
}
|
||||
|
||||
|
||||
|
@ -337,7 +327,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
Tweet tweet = tweetAdapter.getData(position);
|
||||
if (tweet.getEmbeddedTweet() != null)
|
||||
tweet = tweet.getEmbeddedTweet();
|
||||
openTweet(tweet.getId(), tweet.getUser().getId(), tweet.getUser().getScreenname());
|
||||
openTweet(tweet.getId(), tweet.getUser().getScreenname());
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -346,7 +336,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
Tweet tweet = favAdapter.getData(position);
|
||||
if (tweet.getEmbeddedTweet() != null)
|
||||
tweet = tweet.getEmbeddedTweet();
|
||||
openTweet(tweet.getId(), tweet.getUser().getId(), tweet.getUser().getScreenname());
|
||||
openTweet(tweet.getId(), tweet.getUser().getScreenname());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -376,15 +366,32 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
}
|
||||
|
||||
|
||||
private void openTweet(long tweetId, long userId, String username) {
|
||||
private void openTweet(long tweetId, String username) {
|
||||
Intent intent = new Intent(this, TweetDetail.class);
|
||||
intent.putExtra("tweetID", tweetId);
|
||||
intent.putExtra("userID", userId);
|
||||
intent.putExtra("username", username);
|
||||
startActivityForResult(intent, TWEET);
|
||||
}
|
||||
|
||||
|
||||
private void setIndicator() {
|
||||
switch (tabIndex) {
|
||||
case 0:
|
||||
tweetUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
favorUnderline.setBackgroundColor(0);
|
||||
favoriteList.smoothScrollToPosition(0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
favorUnderline.setBackgroundColor(settings.getHighlightColor());
|
||||
tweetUnderline.setBackgroundColor(0);
|
||||
homeList.smoothScrollToPosition(0);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void animate() {
|
||||
final int ANIM_DUR = 300;
|
||||
final float LEFT = -1.0f;
|
||||
|
@ -410,11 +417,4 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
}
|
||||
lastTab = mTab.getCurrentView();
|
||||
}
|
||||
|
||||
|
||||
public void imageClick(String link) {
|
||||
Intent image = new Intent(this, ImageDetail.class);
|
||||
image.putExtra("link", new String[]{link});
|
||||
startActivity(image);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue