removed my own AsyncTask implementation
fixed Content-Type for multipart ( thanks to @jimmyxu )
This commit is contained in:
parent
a96fe5b06c
commit
cf6959c0f2
|
@ -27,9 +27,9 @@ import twitter4j.TwitterException;
|
|||
|
||||
public interface MediaResources {
|
||||
|
||||
public MediaUploadResponse uploadMedia(File file) throws TwitterException;
|
||||
public MediaUploadResponse uploadMedia(File file) throws TwitterException;
|
||||
|
||||
public MediaUploadResponse uploadMedia(String fileName, InputStream fileBody, String fileType)
|
||||
throws TwitterException;
|
||||
public MediaUploadResponse uploadMedia(String fileName, InputStream fileBody, String fileType)
|
||||
throws TwitterException;
|
||||
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ import android.widget.Toast;
|
|||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.nyan.NyanDaydreamService;
|
||||
import org.mariotaku.twidere.nyan.NyanWallpaperService;
|
||||
import org.mariotaku.twidere.nyan.NyanSurfaceHelper;
|
||||
import org.mariotaku.twidere.nyan.NyanWallpaperService;
|
||||
|
||||
public class NyanActivity extends Activity implements Constants, OnLongClickListener, OnSharedPreferenceChangeListener {
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ import android.content.Context;
|
|||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.preference.Preference.OnPreferenceClickListener;
|
||||
|
@ -57,7 +58,7 @@ import org.mariotaku.twidere.model.SupportTabSpec;
|
|||
import org.mariotaku.twidere.preference.WizardPageHeaderPreference;
|
||||
import org.mariotaku.twidere.preference.WizardPageNavPreference;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Tabs;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.CustomTabUtils;
|
||||
import org.mariotaku.twidere.util.MathUtils;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
|
@ -87,15 +88,15 @@ public class SettingsWizardActivity extends Activity implements Constants {
|
|||
private AbsInitialSettingsTask mTask;
|
||||
|
||||
public void applyInitialSettings() {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) return;
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) return;
|
||||
mTask = new InitialSettingsTask(this);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
}
|
||||
|
||||
public void applyInitialTabSettings() {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) return;
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) return;
|
||||
mTask = new InitialTabSettingsTask(this);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
}
|
||||
|
||||
public void exitWizard() {
|
||||
|
@ -503,7 +504,7 @@ public class SettingsWizardActivity extends Activity implements Constants {
|
|||
}
|
||||
}
|
||||
|
||||
static abstract class AbsInitialSettingsTask extends TwidereAsyncTask<Void, Void, Boolean> {
|
||||
static abstract class AbsInitialSettingsTask extends AsyncTask<Void, Void, Boolean> {
|
||||
|
||||
private static final String FRAGMENT_TAG = "initial_settings_dialog";
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.annotation.SuppressLint;
|
|||
import android.content.Intent;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.content.SharedPreferences;
|
|||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.net.http.SslError;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.view.MenuItem;
|
||||
|
@ -41,13 +42,13 @@ import android.widget.Toast;
|
|||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.OAuthPasswordAuthenticator;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.TwitterContentUtils;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
import org.mariotaku.twidere.util.net.TwidereHostResolverFactory;
|
||||
import org.mariotaku.twidere.util.net.OkHttpClientFactory;
|
||||
import org.mariotaku.twidere.util.net.TwidereHostResolverFactory;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -121,10 +122,10 @@ public class BrowserSignInActivity extends BaseSupportDialogActivity implements
|
|||
}
|
||||
|
||||
private void getRequestToken() {
|
||||
if (mRequestToken != null || mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING)
|
||||
if (mRequestToken != null || mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING)
|
||||
return;
|
||||
mTask = new GetRequestTokenTask(this);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
}
|
||||
|
||||
private void loadUrl(final String url) {
|
||||
|
@ -207,7 +208,7 @@ public class BrowserSignInActivity extends BaseSupportDialogActivity implements
|
|||
|
||||
}
|
||||
|
||||
static class GetRequestTokenTask extends TwidereAsyncTask<Void, Void, RequestToken> {
|
||||
static class GetRequestTokenTask extends AsyncTask<Void, Void, RequestToken> {
|
||||
|
||||
private final String mConsumerKey, mConsumerSecret;
|
||||
private final TwidereApplication mApplication;
|
||||
|
|
|
@ -41,6 +41,7 @@ import android.location.Location;
|
|||
import android.location.LocationListener;
|
||||
import android.location.LocationManager;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
|
@ -103,7 +104,7 @@ import org.mariotaku.twidere.model.ParcelableUser;
|
|||
import org.mariotaku.twidere.preference.ServicePickerPreference;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Drafts;
|
||||
import org.mariotaku.twidere.service.BackgroundOperationService;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.ContentValuesCreator;
|
||||
import org.mariotaku.twidere.util.MathUtils;
|
||||
|
@ -169,7 +170,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
private SharedPreferencesWrapper mPreferences;
|
||||
private ParcelableLocation mRecentLocation;
|
||||
private ContentResolver mResolver;
|
||||
private TwidereAsyncTask<Void, Void, ?> mTask;
|
||||
private AsyncTask<Void, Void, ?> mTask;
|
||||
private GridView mMediaPreviewGrid;
|
||||
private ActionMenuView mMenuBar;
|
||||
private EditText mEditText;
|
||||
|
@ -293,7 +294,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
break;
|
||||
}
|
||||
case MENU_DELETE: {
|
||||
new DeleteImageTask(this).executeTask();
|
||||
AsyncTaskUtils.executeTask(new DeleteImageTask(this));
|
||||
break;
|
||||
}
|
||||
case MENU_TOGGLE_SENSITIVE: {
|
||||
|
@ -386,8 +387,8 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
switch (requestCode) {
|
||||
case REQUEST_TAKE_PHOTO: {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
mTask = new AddMediaTask(this, mTempPhotoUri, createTempImageUri(), ParcelableMedia.TYPE_IMAGE,
|
||||
true).executeTask();
|
||||
mTask = AsyncTaskUtils.executeTask(new AddMediaTask(this, mTempPhotoUri,
|
||||
createTempImageUri(), ParcelableMedia.TYPE_IMAGE, true));
|
||||
mTempPhotoUri = null;
|
||||
}
|
||||
break;
|
||||
|
@ -395,16 +396,16 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
case REQUEST_PICK_IMAGE: {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
final Uri src = intent.getData();
|
||||
mTask = new AddMediaTask(this, src, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false)
|
||||
.executeTask();
|
||||
mTask = AsyncTaskUtils.executeTask(new AddMediaTask(this, src,
|
||||
createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case REQUEST_OPEN_DOCUMENT: {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
final Uri src = intent.getData();
|
||||
mTask = new AddMediaTask(this, src, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false)
|
||||
.executeTask();
|
||||
mTask = AsyncTaskUtils.executeTask(new AddMediaTask(this, src,
|
||||
createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -442,7 +443,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) return;
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) return;
|
||||
final String text = mEditText != null ? ParseUtils.parseString(mEditText.getText()) : null;
|
||||
final boolean textChanged = text != null && !text.isEmpty() && !text.equals(mOriginalText);
|
||||
final boolean isEditingDraft = INTENT_ACTION_EDIT_DRAFT.equals(getIntent().getAction());
|
||||
|
@ -451,7 +452,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
Toast.makeText(this, R.string.status_saved_to_draft, Toast.LENGTH_SHORT).show();
|
||||
finish();
|
||||
} else {
|
||||
mTask = new DiscardTweetTask(this).executeTask();
|
||||
mTask = AsyncTaskUtils.executeTask(new DiscardTweetTask(this));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -849,14 +850,14 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
final Uri extraStream = intent.getParcelableExtra(Intent.EXTRA_STREAM);
|
||||
//TODO handle share_screenshot extra (Bitmap)
|
||||
if (extraStream != null) {
|
||||
new AddMediaTask(this, extraStream, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false).executeTask();
|
||||
AsyncTaskUtils.executeTask(new AddMediaTask(this, extraStream, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false));
|
||||
} else if (data != null) {
|
||||
new AddMediaTask(this, data, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false).executeTask();
|
||||
AsyncTaskUtils.executeTask(new AddMediaTask(this, data, createTempImageUri(), ParcelableMedia.TYPE_IMAGE, false));
|
||||
} else if (intent.hasExtra(EXTRA_SHARE_SCREENSHOT) && Utils.useShareScreenshot()) {
|
||||
final Bitmap bitmap = intent.getParcelableExtra(EXTRA_SHARE_SCREENSHOT);
|
||||
if (bitmap != null) {
|
||||
try {
|
||||
new AddBitmapTask(this, bitmap, createTempImageUri(), ParcelableMedia.TYPE_IMAGE).executeTask();
|
||||
AsyncTaskUtils.executeTask(new AddBitmapTask(this, bitmap, createTempImageUri(), ParcelableMedia.TYPE_IMAGE));
|
||||
} catch (IOException e) {
|
||||
// ignore
|
||||
bitmap.recycle();
|
||||
|
@ -1347,7 +1348,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
|
||||
}
|
||||
|
||||
private static class AddMediaTask extends TwidereAsyncTask<Void, Void, Boolean> {
|
||||
private static class AddMediaTask extends AsyncTask<Void, Void, Boolean> {
|
||||
|
||||
private final ComposeActivity activity;
|
||||
private final int media_type;
|
||||
|
@ -1405,7 +1406,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
}
|
||||
}
|
||||
|
||||
private static class DeleteImageTask extends TwidereAsyncTask<Void, Void, Boolean> {
|
||||
private static class DeleteImageTask extends AsyncTask<Void, Void, Boolean> {
|
||||
|
||||
final ComposeActivity mActivity;
|
||||
private final ParcelableMediaUpdate[] mMedia;
|
||||
|
@ -1451,7 +1452,7 @@ public class ComposeActivity extends ThemedFragmentActivity implements TextWatch
|
|||
}
|
||||
}
|
||||
|
||||
private static class DiscardTweetTask extends TwidereAsyncTask<Void, Void, Void> {
|
||||
private static class DiscardTweetTask extends AsyncTask<Void, Void, Void> {
|
||||
|
||||
final ComposeActivity mActivity;
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ import android.content.Intent;
|
|||
import android.content.SharedPreferences;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
|
@ -38,7 +39,6 @@ import android.support.v4.app.FragmentActivity;
|
|||
import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.util.Log;
|
||||
import android.util.SparseBooleanArray;
|
||||
|
@ -62,7 +62,7 @@ import org.mariotaku.twidere.model.DraftItem;
|
|||
import org.mariotaku.twidere.model.ParcelableMediaUpdate;
|
||||
import org.mariotaku.twidere.model.ParcelableStatusUpdate;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Drafts;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
||||
|
@ -270,8 +270,7 @@ public class DraftsActivity extends BaseActionBarActivity implements LoaderCallb
|
|||
case DialogInterface.BUTTON_POSITIVE: {
|
||||
final Bundle args = getArguments();
|
||||
if (args == null) return;
|
||||
final DeleteDraftsTask task = new DeleteDraftsTask(getActivity(), args.getLongArray(EXTRA_IDS));
|
||||
task.executeTask();
|
||||
AsyncTaskUtils.executeTask(new DeleteDraftsTask(getActivity(), args.getLongArray(EXTRA_IDS)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -290,7 +289,7 @@ public class DraftsActivity extends BaseActionBarActivity implements LoaderCallb
|
|||
|
||||
}
|
||||
|
||||
private static class DeleteDraftsTask extends TwidereAsyncTask<Void, Void, Integer> {
|
||||
private static class DeleteDraftsTask extends AsyncTask<Void, Void, Integer> {
|
||||
|
||||
private static final String FRAGMENT_TAG_DELETING_DRAFTS = "deleting_drafts";
|
||||
private final FragmentActivity mActivity;
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.activity.support;
|
||||
|
||||
import static android.os.Environment.getExternalStorageDirectory;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
@ -31,6 +29,8 @@ import org.mariotaku.twidere.util.ThemeUtils;
|
|||
|
||||
import java.io.File;
|
||||
|
||||
import static android.os.Environment.getExternalStorageDirectory;
|
||||
|
||||
public class FileSelectorActivity extends BaseSupportDialogActivity implements FileSelectorDialogFragment.Callback {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -37,6 +37,7 @@ import android.graphics.Rect;
|
|||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
|
@ -90,7 +91,7 @@ import org.mariotaku.twidere.graphic.EmptyDrawable;
|
|||
import org.mariotaku.twidere.model.ParcelableAccount;
|
||||
import org.mariotaku.twidere.model.SupportTabSpec;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.ColorUtils;
|
||||
import org.mariotaku.twidere.util.CustomTabUtils;
|
||||
|
@ -592,9 +593,9 @@ public class HomeActivity extends BaseActionBarActivity implements OnClickListen
|
|||
|
||||
public void updateUnreadCount() {
|
||||
if (mTabIndicator == null || mUpdateUnreadCountTask != null
|
||||
&& mUpdateUnreadCountTask.getStatus() == TwidereAsyncTask.Status.RUNNING) return;
|
||||
&& mUpdateUnreadCountTask.getStatus() == AsyncTask.Status.RUNNING) return;
|
||||
mUpdateUnreadCountTask = new UpdateUnreadCountTask(mTabIndicator);
|
||||
mUpdateUnreadCountTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mUpdateUnreadCountTask);
|
||||
mTabIndicator.setDisplayBadge(mPreferences.getBoolean(KEY_UNREAD_COUNT, true));
|
||||
}
|
||||
|
||||
|
@ -959,7 +960,7 @@ public class HomeActivity extends BaseActionBarActivity implements OnClickListen
|
|||
|
||||
}
|
||||
|
||||
private static class UpdateUnreadCountTask extends TwidereAsyncTask<Void, Void, int[]> {
|
||||
private static class UpdateUnreadCountTask extends AsyncTask<Void, Void, int[]> {
|
||||
private final Context mContext;
|
||||
private final TabPagerIndicator mIndicator;
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package org.mariotaku.twidere.activity.support;
|
||||
|
||||
import static android.os.Environment.getExternalStorageState;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.ActivityNotFoundException;
|
||||
|
@ -35,6 +33,8 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import static android.os.Environment.getExternalStorageState;
|
||||
|
||||
public class ImagePickerActivity extends ThemedActionBarActivity {
|
||||
|
||||
public static final int REQUEST_PICK_IMAGE = 101;
|
||||
|
|
|
@ -30,6 +30,7 @@ import android.content.res.ColorStateList;
|
|||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.app.ActionBar;
|
||||
|
@ -50,7 +51,7 @@ import org.mariotaku.twidere.activity.SettingsActivity;
|
|||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.fragment.support.BaseSupportDialogFragment;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.ContentValuesCreator;
|
||||
import org.mariotaku.twidere.util.OAuthPasswordAuthenticator;
|
||||
import org.mariotaku.twidere.util.OAuthPasswordAuthenticator.AuthenticationException;
|
||||
|
@ -149,12 +150,12 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING && !mBackPressed) {
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING && !mBackPressed) {
|
||||
final Toast toast = Toast.makeText(this, R.string.signing_in_please_wait, Toast.LENGTH_SHORT);
|
||||
toast.show();
|
||||
return;
|
||||
}
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) {
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) {
|
||||
mTask.cancel(false);
|
||||
}
|
||||
super.onBackPressed();
|
||||
|
@ -214,14 +215,14 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
break;
|
||||
}
|
||||
case MENU_SETTINGS: {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING)
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING)
|
||||
return false;
|
||||
final Intent intent = new Intent(this, SettingsActivity.class);
|
||||
startActivity(intent);
|
||||
break;
|
||||
}
|
||||
case MENU_EDIT_API: {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING)
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING)
|
||||
return false;
|
||||
setDefaultAPI();
|
||||
final Intent intent = new Intent(this, APIEditorActivity.class);
|
||||
|
@ -236,7 +237,7 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
}
|
||||
case MENU_OPEN_IN_BROWSER: {
|
||||
if (mAuthType != Accounts.AUTH_TYPE_OAUTH || mTask != null
|
||||
&& mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) return false;
|
||||
&& mTask.getStatus() == AsyncTask.Status.RUNNING) return false;
|
||||
saveEditedText();
|
||||
final Intent intent = new Intent(this, BrowserSignInActivity.class);
|
||||
intent.putExtra(Accounts.CONSUMER_KEY, mConsumerKey);
|
||||
|
@ -322,7 +323,7 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
}
|
||||
|
||||
private void doLogin() {
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) {
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) {
|
||||
mTask.cancel(true);
|
||||
}
|
||||
saveEditedText();
|
||||
|
@ -330,12 +331,12 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
final Configuration conf = getConfiguration();
|
||||
mTask = new SignInTask(this, conf, mUsername, mPassword, mAuthType, mAPIUrlFormat,
|
||||
mSameOAuthSigningUrl, mNoVersionSuffix);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
}
|
||||
|
||||
private void doLogin(final Intent intent) {
|
||||
if (intent == null) return;
|
||||
if (mTask != null && mTask.getStatus() == TwidereAsyncTask.Status.RUNNING) {
|
||||
if (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING) {
|
||||
mTask.cancel(true);
|
||||
}
|
||||
saveEditedText();
|
||||
|
@ -346,7 +347,7 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
final String verifier = intent.getStringExtra(EXTRA_OAUTH_VERIFIER);
|
||||
mTask = new BrowserSignInTask(this, conf, token, secret, verifier, mAPIUrlFormat,
|
||||
mSameOAuthSigningUrl, mNoVersionSuffix);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
}
|
||||
|
||||
private Configuration getConfiguration() {
|
||||
|
@ -502,7 +503,7 @@ public class SignInActivity extends BaseActionBarActivity implements TwitterCons
|
|||
mSignUpButton.setEnabled(false);
|
||||
}
|
||||
|
||||
public static abstract class AbstractSignInTask extends TwidereAsyncTask<Void, Void, SignInResponse> {
|
||||
public static abstract class AbstractSignInTask extends AsyncTask<Void, Void, SignInResponse> {
|
||||
|
||||
protected final Configuration conf;
|
||||
protected final SignInActivity callback;
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.content.BroadcastReceiver;
|
|||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -42,7 +43,7 @@ import org.mariotaku.twidere.fragment.support.SupportProgressDialogFragment;
|
|||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
import org.mariotaku.twidere.model.SingleResponse;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -203,11 +204,11 @@ public class UserListSelectorActivity extends BaseSupportDialogActivity implemen
|
|||
return getIntent().getLongExtra(EXTRA_ACCOUNT_ID, -1);
|
||||
}
|
||||
|
||||
private void getUserLists(final String screen_name) {
|
||||
if (screen_name == null) return;
|
||||
mScreenName = screen_name;
|
||||
final GetUserListsTask task = new GetUserListsTask(this, getAccountId(), screen_name);
|
||||
task.executeTask();
|
||||
private void getUserLists(final String screenName) {
|
||||
if (screenName == null) return;
|
||||
mScreenName = screenName;
|
||||
final GetUserListsTask task = new GetUserListsTask(this, getAccountId(), screenName);
|
||||
AsyncTaskUtils.executeTask(task);
|
||||
}
|
||||
|
||||
private boolean isSelectingUser() {
|
||||
|
@ -216,17 +217,17 @@ public class UserListSelectorActivity extends BaseSupportDialogActivity implemen
|
|||
|
||||
private void searchUser(final String name) {
|
||||
final SearchUsersTask task = new SearchUsersTask(this, getAccountId(), name);
|
||||
task.executeTask();
|
||||
AsyncTaskUtils.executeTask(task);
|
||||
}
|
||||
|
||||
private void setUserListsData(final List<ParcelableUserList> data, final boolean is_my_account) {
|
||||
private void setUserListsData(final List<ParcelableUserList> data, final boolean isMyAccount) {
|
||||
mUserListsAdapter.setData(data, true);
|
||||
mUsersListContainer.setVisibility(View.GONE);
|
||||
mUserListsContainer.setVisibility(View.VISIBLE);
|
||||
mCreateUserListContainer.setVisibility(is_my_account ? View.VISIBLE : View.GONE);
|
||||
mCreateUserListContainer.setVisibility(isMyAccount ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private static class GetUserListsTask extends TwidereAsyncTask<Void, Void, SingleResponse<List<ParcelableUserList>>> {
|
||||
private static class GetUserListsTask extends AsyncTask<Void, Void, SingleResponse<List<ParcelableUserList>>> {
|
||||
|
||||
private static final String FRAGMENT_TAG_GET_USER_LISTS = "get_user_lists";
|
||||
private final UserListSelectorActivity mActivity;
|
||||
|
@ -288,7 +289,7 @@ public class UserListSelectorActivity extends BaseSupportDialogActivity implemen
|
|||
|
||||
}
|
||||
|
||||
private static class SearchUsersTask extends TwidereAsyncTask<Void, Void, SingleResponse<List<ParcelableUser>>> {
|
||||
private static class SearchUsersTask extends AsyncTask<Void, Void, SingleResponse<List<ParcelableUser>>> {
|
||||
|
||||
private static final String FRAGMENT_TAG_SEARCH_USERS = "search_users";
|
||||
private final UserListSelectorActivity mActivity;
|
||||
|
|
|
@ -22,6 +22,7 @@ package org.mariotaku.twidere.activity.support;
|
|||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -43,9 +44,8 @@ import org.mariotaku.twidere.fragment.support.SupportProgressDialogFragment;
|
|||
import org.mariotaku.twidere.loader.support.ParcelableUserLoader;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
import org.mariotaku.twidere.model.SingleResponse;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask.Status;
|
||||
import org.mariotaku.twidere.util.AsyncTaskManager;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper.UpdateProfileBannerImageTask;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper.UpdateProfileImageTask;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
|
@ -81,7 +81,7 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
|
||||
private MediaLoaderWrapper mLazyImageLoader;
|
||||
private AsyncTaskManager mAsyncTaskManager;
|
||||
private TwidereAsyncTask<Void, Void, ?> mTask;
|
||||
private AsyncTask<Void, Void, ?> mTask;
|
||||
|
||||
private ImageView mProfileImageView;
|
||||
private ImageView mProfileBannerView;
|
||||
|
@ -190,7 +190,8 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
@Override
|
||||
public void onClick(final View view) {
|
||||
final ParcelableUser user = mUser;
|
||||
if (user == null || (mTask != null && mTask.getStatus() == Status.RUNNING)) return;
|
||||
if (user == null || (mTask != null && mTask.getStatus() == AsyncTask.Status.RUNNING))
|
||||
return;
|
||||
switch (view.getId()) {
|
||||
case R.id.profile_image: {
|
||||
break;
|
||||
|
@ -221,7 +222,7 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
}
|
||||
case R.id.profile_banner_remove: {
|
||||
mTask = new RemoveProfileBannerTaskInternal(user.account_id);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
break;
|
||||
}
|
||||
case R.id.actionbar_cancel: {
|
||||
|
@ -237,7 +238,7 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
final int backgroundColor = mBackgroundColor.getColor();
|
||||
mTask = new UpdateProfileTaskInternal(this, mAccountId, mUser, name, url, location,
|
||||
description, linkColor, backgroundColor);
|
||||
mTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
break;
|
||||
}
|
||||
case R.id.set_link_color: {
|
||||
|
@ -314,13 +315,13 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
if (resultCode == RESULT_CANCELED) return;
|
||||
switch (requestCode) {
|
||||
case REQUEST_UPLOAD_PROFILE_BANNER_IMAGE: {
|
||||
if (mTask == null || mTask.getStatus() != Status.PENDING) return;
|
||||
mTask.executeTask();
|
||||
if (mTask == null || mTask.getStatus() != AsyncTask.Status.PENDING) return;
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
break;
|
||||
}
|
||||
case REQUEST_UPLOAD_PROFILE_IMAGE: {
|
||||
if (mTask == null || mTask.getStatus() != Status.PENDING) return;
|
||||
mTask.executeTask();
|
||||
if (mTask == null || mTask.getStatus() != AsyncTask.Status.PENDING) return;
|
||||
AsyncTaskUtils.executeTask(mTask);
|
||||
break;
|
||||
}
|
||||
case REQUEST_PICK_LINK_COLOR: {
|
||||
|
@ -420,7 +421,7 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
mDoneButton.setEnabled(isProfileChanged());
|
||||
}
|
||||
|
||||
static class UpdateProfileTaskInternal extends TwidereAsyncTask<Void, Void, SingleResponse<ParcelableUser>> {
|
||||
static class UpdateProfileTaskInternal extends AsyncTask<Void, Void, SingleResponse<ParcelableUser>> {
|
||||
|
||||
private static final String DIALOG_FRAGMENT_TAG = "updating_user_profile";
|
||||
private final UserProfileEditorActivity mActivity;
|
||||
|
@ -510,7 +511,7 @@ public class UserProfileEditorActivity extends BaseActionBarActivity implements
|
|||
|
||||
}
|
||||
|
||||
class RemoveProfileBannerTaskInternal extends TwidereAsyncTask<Void, Void, SingleResponse<Boolean>> {
|
||||
class RemoveProfileBannerTaskInternal extends AsyncTask<Void, Void, SingleResponse<Boolean>> {
|
||||
|
||||
private final long account_id;
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.content.Context;
|
|||
import android.database.Cursor;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
import org.mariotaku.twidere.model.ParcelableMedia;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus.CursorIndices;
|
||||
import org.mariotaku.twidere.view.holder.StatusViewHolder;
|
||||
|
|
|
@ -32,9 +32,9 @@ import org.mariotaku.twidere.app.TwidereApplication;
|
|||
import org.mariotaku.twidere.model.DraftItem;
|
||||
import org.mariotaku.twidere.model.ParcelableMediaUpdate;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Drafts;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.TwidereArrayUtils;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
import org.mariotaku.twidere.view.holder.DraftViewHolder;
|
||||
|
||||
|
|
|
@ -28,8 +28,8 @@ import android.widget.ImageView;
|
|||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
|
|
|
@ -24,9 +24,7 @@ import android.support.v7.widget.RecyclerView.ViewHolder;
|
|||
import android.view.View;
|
||||
|
||||
import org.mariotaku.twidere.model.ParcelableActivity;
|
||||
import org.mariotaku.twidere.model.ParcelableMedia;
|
||||
import org.mariotaku.twidere.view.holder.ActivityTitleSummaryViewHolder;
|
||||
import org.mariotaku.twidere.view.holder.StatusViewHolder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@ package org.mariotaku.twidere.adapter.iface;
|
|||
import android.content.Context;
|
||||
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.view.ShapedImageView.ShapeStyle;
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.getDisplayName;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
|
|
|
@ -26,9 +26,6 @@ import android.content.ContentResolver;
|
|||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AbsListView;
|
||||
import android.widget.AbsListView.OnScrollListener;
|
||||
import android.widget.ListView;
|
||||
|
|
|
@ -19,11 +19,10 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
|
@ -53,8 +52,6 @@ import android.widget.TextView;
|
|||
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.adapter.ArrayAdapter;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.HostsFileParser;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
||||
|
@ -204,6 +201,7 @@ public class HostMappingsListFragment extends BaseListFragment implements MultiC
|
|||
public Dialog onCreateDialog(final Bundle savedInstanceState) {
|
||||
final Context wrapped = ThemeUtils.getDialogThemedContext(getActivity());
|
||||
final AlertDialog.Builder builder = new AlertDialog.Builder(wrapped);
|
||||
@SuppressLint("InflateParams")
|
||||
final View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_host_mapping, null);
|
||||
builder.setView(view);
|
||||
mEditHost = (EditText) view.findViewById(R.id.host);
|
||||
|
@ -297,45 +295,4 @@ public class HostMappingsListFragment extends BaseListFragment implements MultiC
|
|||
|
||||
}
|
||||
|
||||
static class ImportHostsTask extends TwidereAsyncTask<Void, Void, Boolean> {
|
||||
|
||||
private final SharedPreferences mPreferences;
|
||||
private final HostMappingsListFragment mActivity;
|
||||
private final String mPath;
|
||||
|
||||
ImportHostsTask(final HostMappingsListFragment activity, final String path) {
|
||||
mActivity = activity;
|
||||
mPath = path;
|
||||
mPreferences = activity.getSharedPreferences(HOST_MAPPING_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(final Void... params) {
|
||||
final HostsFileParser hosts = new HostsFileParser(mPath);
|
||||
final boolean result = hosts.reload();
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
for (final Map.Entry<String, String> entry : hosts.getAll().entrySet()) {
|
||||
editor.putString(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return result && editor.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(final Boolean result) {
|
||||
final FragmentManager fm = mActivity.getFragmentManager();
|
||||
final Fragment f = fm.findFragmentByTag("import_hosts_progress");
|
||||
if (f instanceof DialogFragment) {
|
||||
((DialogFragment) f).dismiss();
|
||||
}
|
||||
mActivity.reloadHostMappings();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
final FragmentManager fm = mActivity.getFragmentManager();
|
||||
final DialogFragment f = new ProgressDialogFragment();
|
||||
f.setCancelable(false);
|
||||
f.show(fm, "import_hosts_progress");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment;
|
||||
|
||||
import static android.text.TextUtils.isEmpty;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountScreenName;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
@ -40,6 +37,9 @@ import org.mariotaku.twidere.util.ParseUtils;
|
|||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
|
||||
import static android.text.TextUtils.isEmpty;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountScreenName;
|
||||
|
||||
public class PayPalDonateFragment extends BaseFragment implements OnClickListener, TextWatcher {
|
||||
|
||||
private EditText mEditName, mEditAmount;
|
||||
|
|
|
@ -28,6 +28,7 @@ import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
|||
import android.support.v4.content.Loader;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
|
||||
import android.support.v7.widget.FixedLinearLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.RecyclerView.OnScrollListener;
|
||||
|
@ -45,7 +46,6 @@ import org.mariotaku.twidere.app.TwidereApplication;
|
|||
import org.mariotaku.twidere.fragment.iface.RefreshScrollTopInterface;
|
||||
import org.mariotaku.twidere.model.ParcelableActivity;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import android.support.v7.widget.FixedLinearLayoutManager;
|
||||
import org.mariotaku.twidere.util.SimpleDrawerCallback;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
|
|
@ -19,11 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.ContentValuesCreator.createFilteredUser;
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.getDisplayName;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkDelete;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkInsert;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.ContentResolver;
|
||||
|
@ -51,6 +46,10 @@ import java.util.ArrayList;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.mariotaku.twidere.util.ContentValuesCreator.createFilteredUser;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkDelete;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkInsert;
|
||||
|
||||
public class AddStatusFilterDialogFragment extends BaseSupportDialogFragment implements OnMultiChoiceClickListener,
|
||||
OnClickListener {
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ import android.content.SharedPreferences;
|
|||
import android.graphics.Rect;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.content.SharedPreferences;
|
|||
import android.database.ContentObserver;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.support.v4.content.Loader;
|
||||
|
@ -38,7 +39,7 @@ import org.mariotaku.twidere.adapter.CursorStatusesAdapter;
|
|||
import org.mariotaku.twidere.loader.support.ExtendedCursorLoader;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Statuses;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
import org.mariotaku.twidere.util.message.FavoriteCreatedEvent;
|
||||
import org.mariotaku.twidere.util.message.FavoriteDestroyedEvent;
|
||||
|
@ -172,7 +173,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<Cursor>
|
|||
|
||||
@Override
|
||||
public void onLoadMoreContents() {
|
||||
new TwidereAsyncTask<Void, Void, long[][]>() {
|
||||
AsyncTaskUtils.executeTask(new AsyncTask<Void, Void, long[][]>() {
|
||||
|
||||
@Override
|
||||
protected long[][] doInBackground(final Void... params) {
|
||||
|
@ -187,12 +188,12 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<Cursor>
|
|||
getStatuses(result[0], result[1], result[2]);
|
||||
}
|
||||
|
||||
}.executeTask();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean triggerRefresh() {
|
||||
new TwidereAsyncTask<Void, Void, long[][]>() {
|
||||
AsyncTaskUtils.executeTask(new AsyncTask<Void, Void, long[][]>() {
|
||||
|
||||
@Override
|
||||
protected long[][] doInBackground(final Void... params) {
|
||||
|
@ -207,7 +208,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<Cursor>
|
|||
getStatuses(result[0], result[1], result[2]);
|
||||
}
|
||||
|
||||
}.executeTask();
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.content.res.Resources;
|
|||
import android.database.Cursor;
|
||||
import android.graphics.Rect;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
@ -64,7 +65,7 @@ import org.mariotaku.twidere.fragment.iface.RefreshScrollTopInterface;
|
|||
import org.mariotaku.twidere.provider.TwidereDataStore.Accounts;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.DirectMessages;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Statuses;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.ContentListScrollListener;
|
||||
import org.mariotaku.twidere.util.ContentListScrollListener.ContentListSupport;
|
||||
|
@ -165,7 +166,7 @@ public class DirectMessagesFragment extends BaseSupportFragment implements Loade
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
new TwidereAsyncTask<Void, Void, long[][]>() {
|
||||
AsyncTaskUtils.executeTask(new AsyncTask<Void, Void, long[][]>() {
|
||||
|
||||
@Override
|
||||
protected long[][] doInBackground(final Void... params) {
|
||||
|
@ -183,7 +184,7 @@ public class DirectMessagesFragment extends BaseSupportFragment implements Loade
|
|||
twitter.getSentDirectMessagesAsync(result[0], null, null);
|
||||
}
|
||||
|
||||
}.executeTask();
|
||||
});
|
||||
}
|
||||
|
||||
private void setListShown(boolean shown) {
|
||||
|
@ -357,7 +358,7 @@ public class DirectMessagesFragment extends BaseSupportFragment implements Loade
|
|||
//
|
||||
private void loadMoreMessages() {
|
||||
if (isRefreshing()) return;
|
||||
new TwidereAsyncTask<Void, Void, long[][]>() {
|
||||
AsyncTaskUtils.executeTask(new AsyncTask<Void, Void, long[][]>() {
|
||||
|
||||
@Override
|
||||
protected long[][] doInBackground(final Void... params) {
|
||||
|
@ -376,7 +377,7 @@ public class DirectMessagesFragment extends BaseSupportFragment implements Loade
|
|||
twitter.getSentDirectMessagesAsync(result[0], result[2], null);
|
||||
}
|
||||
|
||||
}.executeTask();
|
||||
});
|
||||
}
|
||||
|
||||
public MessageEntriesAdapter getAdapter() {
|
||||
|
@ -397,13 +398,13 @@ public class DirectMessagesFragment extends BaseSupportFragment implements Loade
|
|||
}
|
||||
|
||||
private void removeUnreadCounts() {
|
||||
if (mRemoveUnreadCountsTask != null && mRemoveUnreadCountsTask.getStatus() == TwidereAsyncTask.Status.RUNNING)
|
||||
if (mRemoveUnreadCountsTask != null && mRemoveUnreadCountsTask.getStatus() == AsyncTask.Status.RUNNING)
|
||||
return;
|
||||
mRemoveUnreadCountsTask = new RemoveUnreadCountsTask(mReadPositions, this);
|
||||
mRemoveUnreadCountsTask.executeTask();
|
||||
AsyncTaskUtils.executeTask(mRemoveUnreadCountsTask);
|
||||
}
|
||||
|
||||
static class RemoveUnreadCountsTask extends TwidereAsyncTask<Void, Void, Void> {
|
||||
static class RemoveUnreadCountsTask extends AsyncTask<Void, Void, Void> {
|
||||
private final Set<Integer> read_positions;
|
||||
private final MessageEntriesAdapter adapter;
|
||||
private final DirectMessagesFragment fragment;
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.clearUserNickname;
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.setUserNickname;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
|
@ -37,6 +34,9 @@ import org.mariotaku.twidere.R;
|
|||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.clearUserNickname;
|
||||
import static org.mariotaku.twidere.util.UserColorNameUtils.setUserNickname;
|
||||
|
||||
public class SetUserNicknameDialogFragment extends BaseSupportDialogFragment implements OnClickListener {
|
||||
|
||||
private static final String FRAGMENT_TAG_SET_USER_NICKNAME = "set_user_nickname";
|
||||
|
|
|
@ -31,6 +31,7 @@ import android.nfc.NdefMessage;
|
|||
import android.nfc.NdefRecord;
|
||||
import android.nfc.NfcAdapter.CreateNdefMessageCallback;
|
||||
import android.nfc.NfcEvent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -76,9 +77,8 @@ import org.mariotaku.twidere.model.ParcelableAccount.ParcelableCredentials;
|
|||
import org.mariotaku.twidere.model.ParcelableMedia;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.model.SingleResponse;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask.Status;
|
||||
import org.mariotaku.twidere.text.method.StatusContentMovementMethod;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.CompareUtils;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
|
@ -369,11 +369,11 @@ public class StatusFragment extends BaseSupportFragment
|
|||
}
|
||||
|
||||
private void loadConversation(ParcelableStatus status) {
|
||||
if (mLoadConversationTask != null && mLoadConversationTask.getStatus() == Status.RUNNING) {
|
||||
if (AsyncTaskUtils.isTaskRunning(mLoadConversationTask)) {
|
||||
mLoadConversationTask.cancel(true);
|
||||
}
|
||||
mLoadConversationTask = new LoadConversationTask(this);
|
||||
mLoadConversationTask.executeTask(status);
|
||||
AsyncTaskUtils.executeTask(mLoadConversationTask, status);
|
||||
}
|
||||
|
||||
private void loadReplies(ParcelableStatus status) {
|
||||
|
@ -860,7 +860,7 @@ public class StatusFragment extends BaseSupportFragment
|
|||
|
||||
}
|
||||
|
||||
static class LoadConversationTask extends TwidereAsyncTask<ParcelableStatus, ParcelableStatus,
|
||||
static class LoadConversationTask extends AsyncTask<ParcelableStatus, ParcelableStatus,
|
||||
ListResponse<ParcelableStatus>> {
|
||||
|
||||
final Context context;
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountScreenName;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
@ -30,6 +28,8 @@ import android.os.Bundle;
|
|||
import org.mariotaku.twidere.loader.support.CursorSupportUsersLoader;
|
||||
import org.mariotaku.twidere.loader.support.UserFollowersLoader;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountScreenName;
|
||||
|
||||
public class UserFollowersFragment extends CursorSupportUsersListFragment {
|
||||
|
||||
private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() {
|
||||
|
|
|
@ -107,9 +107,9 @@ import org.mariotaku.twidere.provider.TwidereDataStore.Filters;
|
|||
import org.mariotaku.twidere.text.TextAlphaSpan;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.ContentValuesCreator;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.LinkCreator;
|
||||
import org.mariotaku.twidere.util.MathUtils;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
import org.mariotaku.twidere.util.TwidereLinkify;
|
||||
|
|
|
@ -70,8 +70,8 @@ import org.mariotaku.twidere.model.ParcelableUser;
|
|||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
import org.mariotaku.twidere.model.SingleResponse;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.LinkCreator;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.OnLinkClickHandler;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.content.BroadcastReceiver;
|
|||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MenuItem.OnMenuItemClickListener;
|
||||
|
@ -32,7 +33,7 @@ import org.mariotaku.twidere.loader.support.CursorSupportUsersLoader;
|
|||
import org.mariotaku.twidere.loader.support.UserListMembersLoader;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
@ -86,7 +87,7 @@ public class UserListMembersFragment extends CursorSupportUsersListFragment impl
|
|||
final long userId = args.getLong(EXTRA_USER_ID, -1);
|
||||
final String screenName = args.getString(EXTRA_SCREEN_NAME);
|
||||
final String listName = args.getString(EXTRA_LIST_NAME);
|
||||
new GetUserListTask(accountId, listId, listName, userId, screenName).executeTask();
|
||||
AsyncTaskUtils.executeTask(new GetUserListTask(accountId, listId, listName, userId, screenName));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -130,7 +131,7 @@ public class UserListMembersFragment extends CursorSupportUsersListFragment impl
|
|||
return R.menu.action_user_list_member;
|
||||
}
|
||||
|
||||
private class GetUserListTask extends TwidereAsyncTask<Void, Void, ParcelableUserList> {
|
||||
private class GetUserListTask extends AsyncTask<Void, Void, ParcelableUserList> {
|
||||
|
||||
private final long accountId, userId;
|
||||
private final long listId;
|
||||
|
|
|
@ -22,8 +22,8 @@ import org.mariotaku.twidere.app.TwidereApplication;
|
|||
import org.mariotaku.twidere.loader.support.MediaTimelineLoader;
|
||||
import org.mariotaku.twidere.model.ParcelableMedia;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.ImageLoadingHandler;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.SimpleDrawerCallback;
|
||||
import org.mariotaku.twidere.view.HeaderDrawerLayout.DrawerCallback;
|
||||
import org.mariotaku.twidere.view.MediaSizeImageView;
|
||||
|
|
|
@ -26,8 +26,6 @@ import android.graphics.PorterDuff;
|
|||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.DrawableContainer;
|
||||
import android.os.Build;
|
||||
import android.support.v4.graphics.drawable.DrawableCompat;
|
||||
import android.view.View;
|
||||
|
||||
|
|
|
@ -24,10 +24,10 @@ import android.content.SharedPreferences;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import twitter4j.CursorSupport;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorSupport;
|
||||
|
||||
public abstract class BaseCursorSupportUsersLoader extends Twitter4JUsersLoader {
|
||||
|
||||
private final long mCursor;
|
||||
|
|
|
@ -19,22 +19,22 @@
|
|||
|
||||
package org.mariotaku.twidere.loader.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.AsyncTaskLoader;
|
||||
|
||||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
import org.mariotaku.twidere.util.collection.NoDuplicatesArrayList;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorSupport;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.UserList;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
public abstract class BaseUserListsLoader extends AsyncTaskLoader<List<ParcelableUserList>> {
|
||||
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class CursorSupportUsersLoader extends BaseCursorSupportUsersLoader {
|
||||
|
||||
public CursorSupportUsersLoader(final Context context, final long account_id, final long cursor,
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.IDs;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class IDsUsersLoader extends BaseCursorSupportUsersLoader {
|
||||
|
||||
public IDsUsersLoader(final Context context, final long account_id, final long cursor,
|
||||
|
|
|
@ -23,13 +23,13 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.IDs;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class IncomingFriendshipsLoader extends IDsUsersLoader {
|
||||
|
||||
public IncomingFriendshipsLoader(final Context context, final long account_id, final long max_id,
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class MutesUsersLoader extends CursorSupportUsersLoader {
|
||||
|
||||
public MutesUsersLoader(final Context context, final long account_id, final long cursor,
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.loader.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.AsyncTaskLoader;
|
||||
|
||||
|
@ -29,6 +27,8 @@ import twitter4j.SavedSearch;
|
|||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
public class SavedSearchesLoader extends AsyncTaskLoader<ResponseList<SavedSearch>> {
|
||||
|
||||
private final long mAccountId;
|
||||
|
|
|
@ -23,13 +23,13 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.IDs;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class StatusFavoritersLoader extends IDsUsersLoader {
|
||||
|
||||
private final long mStatusId;
|
||||
|
|
|
@ -23,13 +23,13 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.IDs;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class StatusRetweetersLoader extends IDsUsersLoader {
|
||||
|
||||
private final long mStatusId;
|
||||
|
|
|
@ -19,18 +19,18 @@
|
|||
|
||||
package org.mariotaku.twidere.loader.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterInstance;
|
||||
|
||||
public abstract class Twitter4JUsersLoader extends ParcelableUsersLoader {
|
||||
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UserBlocksLoader extends CursorSupportUsersLoader {
|
||||
|
||||
public UserBlocksLoader(final Context context, final long account_id, final long cursor,
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UserFollowersLoader extends CursorSupportUsersLoader {
|
||||
|
||||
private final long mUserId;
|
||||
|
|
|
@ -23,14 +23,14 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.CursorPaging;
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UserFriendsLoader extends CursorSupportUsersLoader {
|
||||
|
||||
private final long mUserId;
|
||||
|
|
|
@ -23,13 +23,13 @@ import android.content.Context;
|
|||
|
||||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.PageableResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.UserList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UserListMembershipsLoader extends BaseUserListsLoader {
|
||||
|
||||
private final long mUserId;
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
package org.mariotaku.twidere.model;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
|
||||
import static org.mariotaku.twidere.util.CompareUtils.bundleEquals;
|
||||
import static org.mariotaku.twidere.util.CompareUtils.classEquals;
|
||||
import static org.mariotaku.twidere.util.CompareUtils.objectEquals;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class TabSpec {
|
||||
|
||||
public final CharSequence name;
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
|||
import android.content.res.TypedArray;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceCategory;
|
||||
|
@ -46,7 +47,7 @@ import org.mariotaku.twidere.Constants;
|
|||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.model.ParcelableAccount;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.BitmapUtils;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
|
||||
|
@ -90,7 +91,7 @@ public abstract class AccountsListPreference extends PreferenceCategory implemen
|
|||
@Override
|
||||
protected void onAttachedToHierarchy(final PreferenceManager preferenceManager) {
|
||||
super.onAttachedToHierarchy(preferenceManager);
|
||||
new LoadAccountsTask(this).executeTask();
|
||||
AsyncTaskUtils.executeTask(new LoadAccountsTask(this));
|
||||
}
|
||||
|
||||
protected abstract void setupPreference(AccountItemPreference preference, ParcelableAccount account);
|
||||
|
@ -213,7 +214,7 @@ public abstract class AccountsListPreference extends PreferenceCategory implemen
|
|||
}
|
||||
}
|
||||
|
||||
private static class LoadAccountsTask extends TwidereAsyncTask<Void, Void, List<ParcelableAccount>> {
|
||||
private static class LoadAccountsTask extends AsyncTask<Void, Void, List<ParcelableAccount>> {
|
||||
|
||||
private final AccountsListPreference mPreference;
|
||||
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
package org.mariotaku.twidere.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.preference.Preference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import org.mariotaku.twidere.R;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 14-7-28.
|
||||
*/
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.preference;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultTwitterInstance;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
|
@ -42,14 +40,16 @@ import android.widget.TextView;
|
|||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.ResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.api.HelpResources.Language;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultTwitterInstance;
|
||||
|
||||
public class TranslationDestinationPreference extends Preference implements Constants, OnClickListener {
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.preference;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultTwitterInstance;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
|
@ -40,14 +38,16 @@ import android.widget.TextView;
|
|||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.Location;
|
||||
import twitter4j.ResponseList;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultTwitterInstance;
|
||||
|
||||
public class TrendsLocationPreference extends Preference implements Constants, OnClickListener {
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ import android.net.Uri;
|
|||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.model.ParcelableLocation;
|
||||
import org.mariotaku.twidere.util.TwidereArrayUtils;
|
||||
import org.mariotaku.twidere.util.ParseUtils;
|
||||
import org.mariotaku.twidere.util.TwidereArrayUtils;
|
||||
|
||||
public class TwidereCommands {
|
||||
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.receiver;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.startUsageStatisticsServiceIfNeeded;
|
||||
import static org.mariotaku.twidere.util.Utils.startRefreshServiceIfNeeded;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
@ -34,6 +31,9 @@ import org.mariotaku.twidere.util.Utils;
|
|||
import edu.tsinghua.spice.Utilies.NetworkStateUtil;
|
||||
import edu.tsinghua.spice.Utilies.SpiceProfilingUtil;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.startRefreshServiceIfNeeded;
|
||||
import static org.mariotaku.twidere.util.Utils.startUsageStatisticsServiceIfNeeded;
|
||||
|
||||
public class ConnectivityStateReceiver extends BroadcastReceiver implements Constants {
|
||||
|
||||
private static final String RECEIVER_LOGTAG = LOGTAG + "." + "Connectivity";
|
||||
|
|
|
@ -368,7 +368,12 @@ public class BackgroundOperationService extends IntentService implements Constan
|
|||
}
|
||||
mTwitter.removeSendingDraftId(draftId);
|
||||
if (mPreferences.getBoolean(KEY_REFRESH_AFTER_TWEET, false)) {
|
||||
mTwitter.refreshAll();
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mTwitter.refreshAll();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
stopForeground(false);
|
||||
|
@ -401,6 +406,7 @@ public class BackgroundOperationService extends IntentService implements Constan
|
|||
final ContentLengthInputStream is = new ContentLengthInputStream(file);
|
||||
is.setReadListener(new MessageMediaUploadListener(this, mNotificationManager, builder, text));
|
||||
final MediaUploadResponse uploadResp = twitter.uploadMedia(file.getName(), is, o.outMimeType);
|
||||
// final MediaUploadResponse uploadResp = twitter.uploadMediaBase64(is);
|
||||
directMessage = new ParcelableDirectMessage(twitter.sendDirectMessage(recipientId, text,
|
||||
uploadResp.getId()), accountId, true);
|
||||
if (!file.delete()) {
|
||||
|
|
|
@ -19,17 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.service;
|
||||
|
||||
import static org.mariotaku.twidere.util.ParseUtils.parseInt;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountIds;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountId;
|
||||
import static org.mariotaku.twidere.util.Utils.getNewestMessageIdsFromDatabase;
|
||||
import static org.mariotaku.twidere.util.Utils.getNewestStatusIdsFromDatabase;
|
||||
import static org.mariotaku.twidere.util.Utils.hasAutoRefreshAccounts;
|
||||
import static org.mariotaku.twidere.util.Utils.isBatteryOkay;
|
||||
import static org.mariotaku.twidere.util.Utils.isDebugBuild;
|
||||
import static org.mariotaku.twidere.util.Utils.isNetworkAvailable;
|
||||
import static org.mariotaku.twidere.util.Utils.shouldStopAutoRefreshOnBatteryLow;
|
||||
|
||||
import android.app.AlarmManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
|
@ -51,6 +40,17 @@ import org.mariotaku.twidere.util.SharedPreferencesWrapper;
|
|||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.mariotaku.twidere.util.ParseUtils.parseInt;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountIds;
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountId;
|
||||
import static org.mariotaku.twidere.util.Utils.getNewestMessageIdsFromDatabase;
|
||||
import static org.mariotaku.twidere.util.Utils.getNewestStatusIdsFromDatabase;
|
||||
import static org.mariotaku.twidere.util.Utils.hasAutoRefreshAccounts;
|
||||
import static org.mariotaku.twidere.util.Utils.isBatteryOkay;
|
||||
import static org.mariotaku.twidere.util.Utils.isDebugBuild;
|
||||
import static org.mariotaku.twidere.util.Utils.isNetworkAvailable;
|
||||
import static org.mariotaku.twidere.util.Utils.shouldStopAutoRefreshOnBatteryLow;
|
||||
|
||||
public class RefreshService extends Service implements Constants {
|
||||
|
||||
private SharedPreferencesWrapper mPreferences;
|
||||
|
|
|
@ -22,26 +22,23 @@ package org.mariotaku.twidere.task;
|
|||
import android.content.ContentResolver;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.twitter.Extractor;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.mariotaku.querybuilder.Expression;
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.CachedHashtags;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.CachedStatuses;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.CachedUsers;
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Filters;
|
||||
import org.mariotaku.twidere.util.AsyncTaskUtils;
|
||||
import org.mariotaku.twidere.util.TwitterWrapper.TwitterListResponse;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import twitter4j.Relationship;
|
||||
import twitter4j.Twitter;
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.User;
|
||||
|
||||
import static org.mariotaku.twidere.util.ContentValuesCreator.createCachedUser;
|
||||
|
@ -49,11 +46,12 @@ import static org.mariotaku.twidere.util.ContentValuesCreator.createStatus;
|
|||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkDelete;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkInsert;
|
||||
|
||||
public class CacheUsersStatusesTask extends TwidereAsyncTask<Void, Void, Void> implements Constants {
|
||||
public class CacheUsersStatusesTask extends AsyncTask<Void, Void, Void> implements Constants {
|
||||
|
||||
private final TwitterListResponse<twitter4j.Status>[] responses;
|
||||
private final Context context;
|
||||
|
||||
@SafeVarargs
|
||||
public CacheUsersStatusesTask(final Context context, final TwitterListResponse<twitter4j.Status>... responses) {
|
||||
this.context = context;
|
||||
this.responses = responses;
|
||||
|
@ -117,6 +115,7 @@ public class CacheUsersStatusesTask extends TwidereAsyncTask<Void, Void, Void> i
|
|||
return null;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static Runnable getRunnable(final Context context,
|
||||
final TwitterListResponse<twitter4j.Status>... all_statuses) {
|
||||
return new ExecuteCacheUserStatusesTaskRunnable(context, all_statuses);
|
||||
|
@ -126,6 +125,7 @@ public class CacheUsersStatusesTask extends TwidereAsyncTask<Void, Void, Void> i
|
|||
final Context context;
|
||||
final TwitterListResponse<twitter4j.Status>[] all_statuses;
|
||||
|
||||
@SafeVarargs
|
||||
ExecuteCacheUserStatusesTaskRunnable(final Context context,
|
||||
final TwitterListResponse<twitter4j.Status>... all_statuses) {
|
||||
this.context = context;
|
||||
|
@ -134,7 +134,7 @@ public class CacheUsersStatusesTask extends TwidereAsyncTask<Void, Void, Void> i
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
new CacheUsersStatusesTask(context, all_statuses).executeTask();
|
||||
AsyncTaskUtils.executeTask(new CacheUsersStatusesTask(context, all_statuses));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
package org.mariotaku.twidere.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.squareup.otto.Bus;
|
||||
|
||||
|
@ -28,7 +29,7 @@ import org.mariotaku.twidere.app.TwidereApplication;
|
|||
import org.mariotaku.twidere.util.AsyncTaskManager;
|
||||
import org.mariotaku.twidere.util.message.TaskStateChangedEvent;
|
||||
|
||||
public abstract class ManagedAsyncTask<Params, Progress, Result> extends TwidereAsyncTask<Params, Progress, Result> implements
|
||||
public abstract class ManagedAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> implements
|
||||
Constants {
|
||||
|
||||
private final AsyncTaskManager manager;
|
||||
|
@ -40,7 +41,6 @@ public abstract class ManagedAsyncTask<Params, Progress, Result> extends Twidere
|
|||
}
|
||||
|
||||
public ManagedAsyncTask(final Context context, final AsyncTaskManager manager, final String tag) {
|
||||
super(manager.getHandler());
|
||||
this.manager = manager;
|
||||
this.context = context;
|
||||
this.tag = tag;
|
||||
|
|
|
@ -1,176 +0,0 @@
|
|||
/*
|
||||
* Twidere - Twitter client for Android
|
||||
*
|
||||
* Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.mariotaku.twidere.task;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
public abstract class TwidereAsyncTask<Param, Progress, Result> {
|
||||
|
||||
private Thread mThread;
|
||||
private final Handler mHandler;
|
||||
private final ExecutorService mExecutor;
|
||||
private final Runnable mRunnable;
|
||||
|
||||
private boolean mCancelled;
|
||||
private Param[] mParams;
|
||||
private Status mStatus = Status.PENDING;
|
||||
|
||||
public TwidereAsyncTask() {
|
||||
this(new Handler(), null);
|
||||
}
|
||||
|
||||
public TwidereAsyncTask(final ExecutorService executor) {
|
||||
this(new Handler(), executor);
|
||||
}
|
||||
|
||||
public TwidereAsyncTask(final Handler handler) {
|
||||
this(handler, null);
|
||||
}
|
||||
|
||||
public TwidereAsyncTask(final Handler handler, final ExecutorService executor) {
|
||||
if (handler == null) throw new NullPointerException();
|
||||
mHandler = handler;
|
||||
mExecutor = executor;
|
||||
mRunnable = new BackgroundRunnable();
|
||||
}
|
||||
|
||||
public void cancel(final boolean mayInterruptIfRunning) {
|
||||
mCancelled = true;
|
||||
if (mExecutor == null && mThread != null) {
|
||||
mThread.interrupt();
|
||||
}
|
||||
onCancelled();
|
||||
mStatus = Status.FINISHED;
|
||||
}
|
||||
|
||||
public TwidereAsyncTask<Param, Progress, Result> executeTask(final Param... params) {
|
||||
switch (mStatus) {
|
||||
case RUNNING:
|
||||
throw new IllegalStateException("Cannot execute task:" + " the task is already running.");
|
||||
case FINISHED:
|
||||
throw new IllegalStateException("Cannot execute task:" + " the task has already been executed "
|
||||
+ "(a task can be executed only once)");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mStatus = Status.RUNNING;
|
||||
mHandler.post(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
onPreExecute();
|
||||
mParams = params;
|
||||
if (mExecutor != null) {
|
||||
mExecutor.execute(mRunnable);
|
||||
} else {
|
||||
mThread = new Thread(mRunnable);
|
||||
mThread.start();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public Status getStatus() {
|
||||
return mStatus;
|
||||
}
|
||||
|
||||
public boolean isCancelled() {
|
||||
return mCancelled;
|
||||
}
|
||||
|
||||
protected abstract Result doInBackground(Param... params);
|
||||
|
||||
protected void onCancelled() {
|
||||
|
||||
}
|
||||
|
||||
protected void onCancelled(final Result result) {
|
||||
|
||||
}
|
||||
|
||||
protected void onPostExecute(final Result result) {
|
||||
|
||||
}
|
||||
|
||||
protected void onPreExecute() {
|
||||
|
||||
}
|
||||
|
||||
protected void onProgressUpdate(final Progress... values) {
|
||||
|
||||
}
|
||||
|
||||
protected final void publishProgress(final Progress... progress) {
|
||||
if (isCancelled()) return;
|
||||
mHandler.post(new OnProgressUpdateRunnable(progress));
|
||||
}
|
||||
|
||||
public enum Status {
|
||||
RUNNING, PENDING, FINISHED
|
||||
}
|
||||
|
||||
private final class BackgroundRunnable implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
final Result result = doInBackground(mParams);
|
||||
mHandler.post(new OnPostExecuteRunnable(result));
|
||||
}
|
||||
}
|
||||
|
||||
private final class OnPostExecuteRunnable implements Runnable {
|
||||
|
||||
private final Result mResult;
|
||||
|
||||
private OnPostExecuteRunnable(final Result result) {
|
||||
mResult = result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
mStatus = Status.FINISHED;
|
||||
if (isCancelled()) {
|
||||
onCancelled(mResult);
|
||||
} else {
|
||||
onPostExecute(mResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final class OnProgressUpdateRunnable implements Runnable {
|
||||
|
||||
private final Progress[] mResult;
|
||||
|
||||
private OnProgressUpdateRunnable(final Progress... result) {
|
||||
mResult = result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (isCancelled()) return;
|
||||
onProgressUpdate(mResult);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,10 +19,10 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Handler;
|
||||
|
||||
import org.mariotaku.twidere.task.ManagedAsyncTask;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.ConcurrentModificationException;
|
||||
|
@ -84,7 +84,7 @@ public final class AsyncTaskManager {
|
|||
public final <T> boolean execute(final int hashCode, final T... params) {
|
||||
final ManagedAsyncTask<T, ?, ?> task = (ManagedAsyncTask<T, ?, ?>) findTask(hashCode);
|
||||
if (task != null) {
|
||||
task.executeTask(params);
|
||||
task.executeOnExecutor(mExecutor, params);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -108,7 +108,7 @@ public final class AsyncTaskManager {
|
|||
public boolean hasRunningTasksForTag(final String tag) {
|
||||
if (tag == null) return false;
|
||||
for (final ManagedAsyncTask<?, ?, ?> task : getTaskSpecList()) {
|
||||
if (task.getStatus() == ManagedAsyncTask.Status.RUNNING && tag.equals(task.getTag()))
|
||||
if (task.getStatus() == AsyncTask.Status.RUNNING && tag.equals(task.getTag()))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -116,7 +116,7 @@ public final class AsyncTaskManager {
|
|||
|
||||
public boolean isExecuting(final int hashCode) {
|
||||
final ManagedAsyncTask<?, ?, ?> task = findTask(hashCode);
|
||||
if (task != null && task.getStatus() == TwidereAsyncTask.Status.RUNNING) return true;
|
||||
if (task != null && task.getStatus() == AsyncTask.Status.RUNNING) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Twidere - Twitter client for Android
|
||||
*
|
||||
* Copyright (C) 2012-2015 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 15/3/30.
|
||||
*/
|
||||
public class AsyncTaskUtils {
|
||||
|
||||
public static final Executor DEFAULT_EXECUTOR = Executors.newFixedThreadPool(2);
|
||||
|
||||
@SafeVarargs
|
||||
public static <T extends AsyncTask<Parameter, ?, ?>, Parameter> T executeTask(T task, Parameter... params) {
|
||||
task.executeOnExecutor(DEFAULT_EXECUTOR, params);
|
||||
return task;
|
||||
}
|
||||
|
||||
public static boolean isTaskRunning(@Nullable AsyncTask task) {
|
||||
return task != null && task.getStatus() == AsyncTask.Status.RUNNING;
|
||||
}
|
||||
}
|
|
@ -26,6 +26,7 @@ import android.content.Intent;
|
|||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.util.LongSparseArray;
|
||||
|
@ -62,7 +63,6 @@ import org.mariotaku.twidere.provider.TwidereDataStore.SavedSearches;
|
|||
import org.mariotaku.twidere.provider.TwidereDataStore.Statuses;
|
||||
import org.mariotaku.twidere.service.BackgroundOperationService;
|
||||
import org.mariotaku.twidere.task.ManagedAsyncTask;
|
||||
import org.mariotaku.twidere.task.TwidereAsyncTask;
|
||||
import org.mariotaku.twidere.util.collection.LongSparseMap;
|
||||
import org.mariotaku.twidere.util.content.ContentResolverUtils;
|
||||
import org.mariotaku.twidere.util.message.FavoriteCreatedEvent;
|
||||
|
@ -173,12 +173,12 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
|
||||
public void clearNotificationAsync(final int notificationId, final long notificationAccount) {
|
||||
final ClearNotificationTask task = new ClearNotificationTask(notificationId, notificationAccount);
|
||||
task.executeTask();
|
||||
AsyncTaskUtils.executeTask(task);
|
||||
}
|
||||
|
||||
public void clearUnreadCountAsync(final int position) {
|
||||
final ClearUnreadCountTask task = new ClearUnreadCountTask(position);
|
||||
task.executeTask();
|
||||
AsyncTaskUtils.executeTask(task);
|
||||
}
|
||||
|
||||
public int createBlockAsync(final long accountId, final long user_id) {
|
||||
|
@ -346,7 +346,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
for (final ManagedAsyncTask<?, ?, ?> task : mAsyncTaskManager.getTaskSpecList()) {
|
||||
if (task instanceof CreateFriendshipTask) {
|
||||
final CreateFriendshipTask createFriendshipTask = (CreateFriendshipTask) task;
|
||||
if (createFriendshipTask.getStatus() == TwidereAsyncTask.Status.RUNNING
|
||||
if (createFriendshipTask.getStatus() == AsyncTask.Status.RUNNING
|
||||
&& createFriendshipTask.getAccountId() == accountId
|
||||
&& createFriendshipTask.getUserId() == userId)
|
||||
return true;
|
||||
|
@ -367,7 +367,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
for (final ManagedAsyncTask<?, ?, ?> task : mAsyncTaskManager.getTaskSpecList()) {
|
||||
if (task instanceof DestroyFriendshipTask) {
|
||||
final DestroyFriendshipTask destroyFriendshipTask = (DestroyFriendshipTask) task;
|
||||
if (destroyFriendshipTask.getStatus() == TwidereAsyncTask.Status.RUNNING
|
||||
if (destroyFriendshipTask.getStatus() == AsyncTask.Status.RUNNING
|
||||
&& destroyFriendshipTask.getAccountId() == accountId
|
||||
&& destroyFriendshipTask.getUserId() == userId)
|
||||
return true;
|
||||
|
@ -435,7 +435,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
|
||||
public void removeUnreadCountsAsync(final int position, final LongSparseArray<Set<Long>> counts) {
|
||||
final RemoveUnreadCountsTask task = new RemoveUnreadCountsTask(position, counts);
|
||||
task.executeTask();
|
||||
AsyncTaskUtils.executeTask(task);
|
||||
}
|
||||
|
||||
public int reportMultiSpam(final long accountId, final long[] user_ids) {
|
||||
|
@ -784,7 +784,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
|
||||
}
|
||||
|
||||
final class ClearNotificationTask extends TwidereAsyncTask<Void, Void, Integer> {
|
||||
final class ClearNotificationTask extends AsyncTask<Void, Void, Integer> {
|
||||
private final int notificationType;
|
||||
private final long accountId;
|
||||
|
||||
|
@ -800,7 +800,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
|
||||
}
|
||||
|
||||
final class ClearUnreadCountTask extends TwidereAsyncTask<Void, Void, Integer> {
|
||||
final class ClearUnreadCountTask extends AsyncTask<Void, Void, Integer> {
|
||||
private final int position;
|
||||
|
||||
ClearUnreadCountTask(final int position) {
|
||||
|
@ -2166,7 +2166,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||
|
||||
}
|
||||
|
||||
final class RemoveUnreadCountsTask extends TwidereAsyncTask<Void, Void, Integer> {
|
||||
final class RemoveUnreadCountsTask extends AsyncTask<Void, Void, Integer> {
|
||||
private final int position;
|
||||
private final LongSparseArray<Set<Long>> counts;
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import static org.mariotaku.twidere.annotation.Preference.Type.INVALID;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
|
@ -45,6 +43,8 @@ import java.util.zip.ZipEntry;
|
|||
import java.util.zip.ZipFile;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import static org.mariotaku.twidere.annotation.Preference.Type.INVALID;
|
||||
|
||||
public class DataImportExportUtils implements Constants {
|
||||
|
||||
public static void exportData(final Context context, final File dst, final int flags) throws IOException {
|
||||
|
|
|
@ -30,7 +30,6 @@ import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
|||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.util.imageloader.AccountExtra;
|
||||
import org.mariotaku.twidere.util.imageloader.OvalBitmapDisplayer;
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import static android.text.TextUtils.isEmpty;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
|
@ -33,6 +31,8 @@ import org.mariotaku.twidere.Constants;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static android.text.TextUtils.isEmpty;
|
||||
|
||||
public class PermissionsManager implements Constants {
|
||||
|
||||
private static final String[] PERMISSIONS_DENIED = { PERMISSION_DENIED };
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import static org.mariotaku.twidere.util.ServiceUtils.bindToService;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
|
@ -34,6 +32,8 @@ import org.mariotaku.twidere.IStatusShortener;
|
|||
import org.mariotaku.twidere.model.ParcelableStatusUpdate;
|
||||
import org.mariotaku.twidere.model.StatusShortenResult;
|
||||
|
||||
import static org.mariotaku.twidere.util.ServiceUtils.bindToService;
|
||||
|
||||
public final class StatusShortenerInterface implements Constants, IStatusShortener {
|
||||
|
||||
private IStatusShortener mShortener;
|
||||
|
|
|
@ -398,6 +398,7 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
HOME_TABS_URI_MATCHER.addURI(AUTHORITY_DIRECT_MESSAGES, null, CustomTabUtils.TAB_CODE_DIRECT_MESSAGES);
|
||||
}
|
||||
|
||||
|
||||
private static LongSparseArray<Integer> sAccountColors = new LongSparseArray<>();
|
||||
private static LongSparseArray<String> sAccountScreenNames = new LongSparseArray<>();
|
||||
private static LongSparseArray<String> sAccountNames = new LongSparseArray<>();
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
package org.mariotaku.twidere.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nostra13.universalimageloader.cache.disc.DiskCache;
|
||||
|
|
|
@ -19,13 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util.imageloader;
|
||||
|
||||
import static org.mariotaku.twidere.util.TwidereLinkify.PATTERN_TWITTER_PROFILE_IMAGES;
|
||||
import static org.mariotaku.twidere.util.Utils.getImageLoaderHttpClient;
|
||||
import static org.mariotaku.twidere.util.Utils.getNormalTwitterProfileImage;
|
||||
import static org.mariotaku.twidere.util.Utils.getRedirectedHttpResponse;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterAuthorization;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterProfileImageOfSize;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
|
@ -41,14 +34,21 @@ import org.mariotaku.twidere.model.ParcelableMedia;
|
|||
import org.mariotaku.twidere.util.MediaPreviewUtils;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Locale;
|
||||
|
||||
import twitter4j.TwitterException;
|
||||
import twitter4j.auth.Authorization;
|
||||
import twitter4j.http.HttpClientWrapper;
|
||||
import twitter4j.http.HttpResponse;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Locale;
|
||||
import static org.mariotaku.twidere.util.TwidereLinkify.PATTERN_TWITTER_PROFILE_IMAGES;
|
||||
import static org.mariotaku.twidere.util.Utils.getImageLoaderHttpClient;
|
||||
import static org.mariotaku.twidere.util.Utils.getNormalTwitterProfileImage;
|
||||
import static org.mariotaku.twidere.util.Utils.getRedirectedHttpResponse;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterAuthorization;
|
||||
import static org.mariotaku.twidere.util.Utils.getTwitterProfileImageOfSize;
|
||||
|
||||
public class TwidereImageDownloader extends BaseImageDownloader implements Constants {
|
||||
|
||||
|
|
|
@ -141,6 +141,7 @@ public class OkHttpClientImpl implements HttpClient, TwidereConstants {
|
|||
return RequestBody.create(APPLICATION_FORM_URLENCODED, HttpParameter.encodeParameters(params));
|
||||
}
|
||||
final MultipartBuilder builder = new MultipartBuilder();
|
||||
builder.type(MultipartBuilder.FORM);
|
||||
for (final HttpParameter param : params) {
|
||||
if (param.isFile()) {
|
||||
RequestBody requestBody;
|
||||
|
|
|
@ -19,18 +19,13 @@
|
|||
|
||||
package org.mariotaku.twidere.view;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.Window;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
import org.mariotaku.twidere.view.iface.IExtendedView;
|
||||
|
||||
public class ExtendedFrameLayout extends FrameLayout implements IExtendedView {
|
||||
|
|
Loading…
Reference in New Issue