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