trying to fix NoDisplay theme crashes on Marshmallow
This commit is contained in:
parent
674202dbea
commit
3ef40e2e53
|
@ -47,7 +47,7 @@ android {
|
|||
}
|
||||
|
||||
repositories {
|
||||
maven { url 'http://repo.commonsware.com.s3.amazonaws.com' }
|
||||
maven { url 'https://repo.commonsware.com.s3.amazonaws.com' }
|
||||
}
|
||||
|
||||
configurations {
|
||||
|
|
|
@ -32,6 +32,7 @@ public class CreateComposeShortcutActivity extends Activity implements Constants
|
|||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setVisible(true);
|
||||
final Intent intent = new Intent();
|
||||
final Intent launch_intent = new Intent(INTENT_ACTION_COMPOSE);
|
||||
final ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.mipmap.ic_launcher);
|
||||
|
|
|
@ -45,6 +45,7 @@ public class MainActivity extends Activity implements Constants {
|
|||
}
|
||||
ThemeUtils.overrideActivityOpenAnimation(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
setVisible(true);
|
||||
final Intent intent = new Intent(this, HomeActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
||||
startActivity(intent);
|
||||
|
|
|
@ -33,6 +33,7 @@ public class UsageStatisticsActivity extends Activity implements Constants {
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setVisible(true);
|
||||
final Bundle fragmentArgs = new Bundle();
|
||||
fragmentArgs.putInt(EXTRA_RESID, R.xml.preferences_usage_statistics);
|
||||
final Intent intent = new Intent(this, SettingsActivity.class);
|
||||
|
|
|
@ -29,50 +29,56 @@ import org.mariotaku.twidere.util.ThemeUtils;
|
|||
|
||||
public class ColorPickerDialogActivity extends BaseSupportDialogActivity implements Callback {
|
||||
|
||||
public static final int RESULT_CLEARED = -2;
|
||||
public static final int RESULT_CLEARED = -2;
|
||||
|
||||
@Override
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
}
|
||||
@Override
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelled() {
|
||||
finish();
|
||||
}
|
||||
@Override
|
||||
public void onCancelled() {
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onColorCleared() {
|
||||
setResult(RESULT_CLEARED);
|
||||
finish();
|
||||
}
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onColorSelected(final int color) {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(EXTRA_COLOR, color);
|
||||
setResult(RESULT_OK, intent);
|
||||
finish();
|
||||
}
|
||||
@Override
|
||||
public void onColorCleared() {
|
||||
setResult(RESULT_CLEARED);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismissed() {
|
||||
finish();
|
||||
}
|
||||
@Override
|
||||
public void onColorSelected(final int color) {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(EXTRA_COLOR, color);
|
||||
setResult(RESULT_OK, intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState == null) {
|
||||
final Intent intent = getIntent();
|
||||
final ColorPickerDialogFragment f = new ColorPickerDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putInt(EXTRA_COLOR, intent.getIntExtra(EXTRA_COLOR, Color.WHITE));
|
||||
args.putBoolean(EXTRA_CLEAR_BUTTON, intent.getBooleanExtra(EXTRA_CLEAR_BUTTON, false));
|
||||
args.putBoolean(EXTRA_ALPHA_SLIDER, intent.getBooleanExtra(EXTRA_ALPHA_SLIDER, true));
|
||||
f.setArguments(args);
|
||||
f.show(getSupportFragmentManager(), "color_picker_dialog");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onDismissed() {
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState == null) {
|
||||
final Intent intent = getIntent();
|
||||
final ColorPickerDialogFragment f = new ColorPickerDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putInt(EXTRA_COLOR, intent.getIntExtra(EXTRA_COLOR, Color.WHITE));
|
||||
args.putBoolean(EXTRA_CLEAR_BUTTON, intent.getBooleanExtra(EXTRA_CLEAR_BUTTON, false));
|
||||
args.putBoolean(EXTRA_ALPHA_SLIDER, intent.getBooleanExtra(EXTRA_ALPHA_SLIDER, true));
|
||||
f.setArguments(args);
|
||||
f.show(getSupportFragmentManager(), "color_picker_dialog");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,9 +20,9 @@ import java.util.Date;
|
|||
import java.util.Locale;
|
||||
|
||||
public class DataExportActivity extends ThemedFragmentActivity implements FileSelectorDialogFragment.Callback,
|
||||
DataExportImportTypeSelectorDialogFragment.Callback {
|
||||
DataExportImportTypeSelectorDialogFragment.Callback {
|
||||
|
||||
private ExportSettingsTask mTask;
|
||||
private ExportSettingsTask mTask;
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
|
@ -30,113 +30,119 @@ public class DataExportActivity extends ThemedFragmentActivity implements FileSe
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
}
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelled(final DialogFragment df) {
|
||||
if (!isFinishing()) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onCancelled(final DialogFragment df) {
|
||||
if (!isFinishing()) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismissed(final DialogFragment df) {
|
||||
if (df instanceof DataExportImportTypeSelectorDialogFragment) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onDismissed(final DialogFragment df) {
|
||||
if (df instanceof DataExportImportTypeSelectorDialogFragment) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFilePicked(final File file) {
|
||||
if (file == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
final DialogFragment df = new DataExportImportTypeSelectorDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(EXTRA_PATH, file.getAbsolutePath());
|
||||
args.putString(EXTRA_TITLE, getString(R.string.export_settings_type_dialog_title));
|
||||
df.setArguments(args);
|
||||
df.show(getSupportFragmentManager(), "select_export_type");
|
||||
}
|
||||
@Override
|
||||
public void onFilePicked(final File file) {
|
||||
if (file == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
final DialogFragment df = new DataExportImportTypeSelectorDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(EXTRA_PATH, file.getAbsolutePath());
|
||||
args.putString(EXTRA_TITLE, getString(R.string.export_settings_type_dialog_title));
|
||||
df.setArguments(args);
|
||||
df.show(getSupportFragmentManager(), "select_export_type");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPositiveButtonClicked(final String path, final int flags) {
|
||||
if (path == null || flags == 0) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
if (mTask == null || mTask.getStatus() != AsyncTask.Status.RUNNING) {
|
||||
mTask = new ExportSettingsTask(this, path, flags);
|
||||
mTask.execute();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onPositiveButtonClicked(final String path, final int flags) {
|
||||
if (path == null || flags == 0) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
if (mTask == null || mTask.getStatus() != AsyncTask.Status.RUNNING) {
|
||||
mTask = new ExportSettingsTask(this, path, flags);
|
||||
mTask.execute();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState == null) {
|
||||
final File extStorage = Environment.getExternalStorageDirectory();
|
||||
final String storagePath = extStorage != null ? extStorage.getAbsolutePath() : "/";
|
||||
final FileSelectorDialogFragment f = new FileSelectorDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(EXTRA_ACTION, INTENT_ACTION_PICK_DIRECTORY);
|
||||
args.putString(EXTRA_PATH, storagePath);
|
||||
f.setArguments(args);
|
||||
f.show(getSupportFragmentManager(), "select_file");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
static class ExportSettingsTask extends AsyncTask<Object, Object, Boolean> {
|
||||
private static final String FRAGMENT_TAG = "import_settings_dialog";
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState == null) {
|
||||
final File extStorage = Environment.getExternalStorageDirectory();
|
||||
final String storagePath = extStorage != null ? extStorage.getAbsolutePath() : "/";
|
||||
final FileSelectorDialogFragment f = new FileSelectorDialogFragment();
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(EXTRA_ACTION, INTENT_ACTION_PICK_DIRECTORY);
|
||||
args.putString(EXTRA_PATH, storagePath);
|
||||
f.setArguments(args);
|
||||
f.show(getSupportFragmentManager(), "select_file");
|
||||
}
|
||||
}
|
||||
|
||||
private final DataExportActivity mActivity;
|
||||
private final String mPath;
|
||||
private final int mFlags;
|
||||
static class ExportSettingsTask extends AsyncTask<Object, Object, Boolean> {
|
||||
private static final String FRAGMENT_TAG = "import_settings_dialog";
|
||||
|
||||
ExportSettingsTask(final DataExportActivity activity, final String path, final int flags) {
|
||||
mActivity = activity;
|
||||
mPath = path;
|
||||
mFlags = flags;
|
||||
}
|
||||
private final DataExportActivity mActivity;
|
||||
private final String mPath;
|
||||
private final int mFlags;
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(final Object... params) {
|
||||
if (mPath == null) return false;
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.US);
|
||||
final String fileName = String.format("Twidere_Settings_%s.zip", sdf.format(new Date()));
|
||||
final File file = new File(mPath, fileName);
|
||||
file.delete();
|
||||
try {
|
||||
DataImportExportUtils.exportData(mActivity, file, mFlags);
|
||||
return true;
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ExportSettingsTask(final DataExportActivity activity, final String path, final int flags) {
|
||||
mActivity = activity;
|
||||
mPath = path;
|
||||
mFlags = flags;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(final Boolean result) {
|
||||
final FragmentManager fm = mActivity.getSupportFragmentManager();
|
||||
final DialogFragment f = (DialogFragment) fm.findFragmentByTag(FRAGMENT_TAG);
|
||||
if (f != null) {
|
||||
f.dismiss();
|
||||
}
|
||||
if (result != null && result) {
|
||||
mActivity.setResult(RESULT_OK);
|
||||
} else {
|
||||
mActivity.setResult(RESULT_CANCELED);
|
||||
}
|
||||
mActivity.finish();
|
||||
}
|
||||
@Override
|
||||
protected Boolean doInBackground(final Object... params) {
|
||||
if (mPath == null) return false;
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.US);
|
||||
final String fileName = String.format("Twidere_Settings_%s.zip", sdf.format(new Date()));
|
||||
final File file = new File(mPath, fileName);
|
||||
file.delete();
|
||||
try {
|
||||
DataImportExportUtils.exportData(mActivity, file, mFlags);
|
||||
return true;
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
ProgressDialogFragment.show(mActivity, FRAGMENT_TAG).setCancelable(false);
|
||||
}
|
||||
@Override
|
||||
protected void onPostExecute(final Boolean result) {
|
||||
final FragmentManager fm = mActivity.getSupportFragmentManager();
|
||||
final DialogFragment f = (DialogFragment) fm.findFragmentByTag(FRAGMENT_TAG);
|
||||
if (f != null) {
|
||||
f.dismiss();
|
||||
}
|
||||
if (result != null && result) {
|
||||
mActivity.setResult(RESULT_OK);
|
||||
} else {
|
||||
mActivity.setResult(RESULT_CANCELED);
|
||||
}
|
||||
mActivity.finish();
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
ProgressDialogFragment.show(mActivity, FRAGMENT_TAG).setCancelable(false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,6 +72,12 @@ public class DataImportActivity extends ThemedFragmentActivity implements FileSe
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
|
|
@ -45,6 +45,12 @@ public class FileSelectorActivity extends BaseSupportDialogActivity implements F
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismissed(final DialogFragment df) {
|
||||
if (!isFinishing()) {
|
||||
|
|
|
@ -21,6 +21,12 @@ public class ThemedImagePickerActivity extends ImagePickerActivity {
|
|||
return new ThemedIntentBuilder(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
public static final class ThemedIntentBuilder {
|
||||
private final Context context;
|
||||
private final IntentBuilder intentBuilder;
|
||||
|
|
|
@ -230,8 +230,8 @@ public class TwidereApplication extends MultiDexApplication implements Constants
|
|||
|
||||
@Override
|
||||
public void onLowMemory() {
|
||||
// final ApplicationModule module = getApplicationModule();
|
||||
// module.getMediaLoaderWrapper().clearMemoryCache();
|
||||
final ApplicationModule module = getApplicationModule();
|
||||
module.onLowMemory();
|
||||
super.onLowMemory();
|
||||
}
|
||||
|
||||
|
@ -253,7 +253,7 @@ public class TwidereApplication extends MultiDexApplication implements Constants
|
|||
}
|
||||
|
||||
public void reloadConnectivitySettings() {
|
||||
ApplicationModule.get(this).getImageDownloader().reloadConnectivitySettings();
|
||||
getApplicationModule().reloadConnectivitySettings();
|
||||
}
|
||||
|
||||
private DiskCache createDiskCache(final String dirName) {
|
||||
|
|
|
@ -113,11 +113,17 @@ public class TwitterAPIFactory implements TwidereConstants {
|
|||
}
|
||||
|
||||
public static RestHttpClient createHttpClient(final Context context, final Network network, final SharedPreferences prefs) {
|
||||
final OkHttpClient client = new OkHttpClient();
|
||||
updateHttpClientConfiguration(prefs, client);
|
||||
Internal.instance.setNetwork(client, network);
|
||||
return new OkHttpRestClient(context, client);
|
||||
}
|
||||
|
||||
public static void updateHttpClientConfiguration(final SharedPreferences prefs, final OkHttpClient client) {
|
||||
final int connectionTimeout = prefs.getInt(KEY_CONNECTION_TIMEOUT, 10);
|
||||
final boolean ignoreSslError = prefs.getBoolean(KEY_IGNORE_SSL_ERROR, false);
|
||||
final boolean enableProxy = prefs.getBoolean(KEY_ENABLE_PROXY, false);
|
||||
|
||||
final OkHttpClient client = new OkHttpClient();
|
||||
client.setConnectTimeout(connectionTimeout, TimeUnit.SECONDS);
|
||||
final long connectionTimeoutMillis = TimeUnit.MILLISECONDS.convert(connectionTimeout, TimeUnit.SECONDS);
|
||||
final SSLSocketFactory sslSocketFactory;
|
||||
|
@ -131,8 +137,6 @@ public class TwitterAPIFactory implements TwidereConstants {
|
|||
if (enableProxy) {
|
||||
client.setProxy(getProxy(prefs));
|
||||
}
|
||||
Internal.instance.setNetwork(client, network);
|
||||
return new OkHttpRestClient(context, client);
|
||||
}
|
||||
|
||||
|
||||
|
@ -161,7 +165,7 @@ public class TwitterAPIFactory implements TwidereConstants {
|
|||
} else {
|
||||
userAgent = getTwidereUserAgent(context);
|
||||
}
|
||||
factory.setClient(getDefaultHttpClient(context));
|
||||
factory.setClient(ApplicationModule.get(context).getRestHttpClient());
|
||||
factory.setConverter(new TwitterConverter());
|
||||
factory.setEndpoint(endpoint);
|
||||
factory.setAuthorization(auth);
|
||||
|
|
|
@ -25,19 +25,23 @@ import com.nostra13.universalimageloader.core.ImageLoader;
|
|||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
|
||||
import com.nostra13.universalimageloader.utils.L;
|
||||
import com.squareup.okhttp.OkHttpClient;
|
||||
import com.squareup.okhttp.internal.Network;
|
||||
|
||||
import org.mariotaku.restfu.http.RestHttpClient;
|
||||
import org.mariotaku.twidere.BuildConfig;
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.util.ActivityTracker;
|
||||
import org.mariotaku.twidere.util.AsyncTaskManager;
|
||||
import org.mariotaku.twidere.util.AsyncTwitterWrapper;
|
||||
import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
||||
import org.mariotaku.twidere.util.ReadStateManager;
|
||||
import org.mariotaku.twidere.util.SharedPreferencesWrapper;
|
||||
import org.mariotaku.twidere.util.TwitterAPIFactory;
|
||||
import org.mariotaku.twidere.util.VideoLoader;
|
||||
import org.mariotaku.twidere.util.imageloader.TwidereImageDownloader;
|
||||
import org.mariotaku.twidere.util.net.OkHttpRestClient;
|
||||
import org.mariotaku.twidere.util.net.TwidereNetwork;
|
||||
|
||||
import dagger.Module;
|
||||
|
@ -49,6 +53,8 @@ import dagger.Provides;
|
|||
@Module
|
||||
public class ApplicationModule {
|
||||
|
||||
private final SharedPreferencesWrapper sharedPreferences;
|
||||
|
||||
private final ActivityTracker activityTracker;
|
||||
private final AsyncTwitterWrapper asyncTwitterWrapper;
|
||||
private final ReadStateManager readStateManager;
|
||||
|
@ -61,13 +67,14 @@ public class ApplicationModule {
|
|||
private final RestHttpClient restHttpClient;
|
||||
|
||||
public ApplicationModule(TwidereApplication application) {
|
||||
sharedPreferences = SharedPreferencesWrapper.getInstance(application, Constants.SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
activityTracker = new ActivityTracker();
|
||||
asyncTaskManager = AsyncTaskManager.getInstance();
|
||||
asyncTwitterWrapper = new AsyncTwitterWrapper(application, asyncTaskManager);
|
||||
readStateManager = new ReadStateManager(application);
|
||||
network = new TwidereNetwork(application);
|
||||
restHttpClient = TwitterAPIFactory.getDefaultHttpClient(application, network);
|
||||
imageDownloader = new TwidereImageDownloader(application, network, true);
|
||||
imageDownloader = new TwidereImageDownloader(application, restHttpClient, true);
|
||||
imageLoader = createImageLoader(application, imageDownloader);
|
||||
videoLoader = new VideoLoader(application, imageDownloader, asyncTaskManager);
|
||||
mediaLoaderWrapper = new MediaLoaderWrapper(imageLoader, videoLoader);
|
||||
|
@ -140,4 +147,17 @@ public class ApplicationModule {
|
|||
public Network getNetwork() {
|
||||
return network;
|
||||
}
|
||||
|
||||
|
||||
public void reloadConnectivitySettings() {
|
||||
imageDownloader.reloadConnectivitySettings();
|
||||
if (restHttpClient instanceof OkHttpRestClient) {
|
||||
final OkHttpClient okHttpClient = ((OkHttpRestClient) restHttpClient).getClient();
|
||||
TwitterAPIFactory.updateHttpClientConfiguration(sharedPreferences, okHttpClient);
|
||||
}
|
||||
}
|
||||
|
||||
public void onLowMemory() {
|
||||
mediaLoaderWrapper.clearMemoryCache();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@ import android.webkit.URLUtil;
|
|||
|
||||
import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream;
|
||||
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
|
||||
import com.squareup.okhttp.internal.Network;
|
||||
import com.squareup.pollexor.Thumbor;
|
||||
import com.squareup.pollexor.ThumborUrlBuilder;
|
||||
|
||||
|
@ -70,25 +69,24 @@ public class TwidereImageDownloader extends BaseImageDownloader implements Const
|
|||
private final SharedPreferencesWrapper mPreferences;
|
||||
private final boolean mUseThumbor;
|
||||
private final String mUserAgent;
|
||||
private final Network mNetwork;
|
||||
private final RestHttpClient mClient;
|
||||
private Thumbor mThumbor;
|
||||
private RestHttpClient mClient;
|
||||
|
||||
private final String mTwitterProfileImageSize;
|
||||
|
||||
public TwidereImageDownloader(final Context context, final Network network, final boolean useThumbor) {
|
||||
public TwidereImageDownloader(final Context context, final RestHttpClient client, final boolean useThumbor) {
|
||||
super(context);
|
||||
mContext = context;
|
||||
mNetwork = network;
|
||||
mPreferences = SharedPreferencesWrapper.getInstance(context, SHARED_PREFERENCES_NAME,
|
||||
Context.MODE_PRIVATE, SharedPreferenceConstants.class);
|
||||
mTwitterProfileImageSize = context.getString(R.string.profile_image_size);
|
||||
mUseThumbor = useThumbor;
|
||||
mUserAgent = UserAgentUtils.getDefaultUserAgentString(context);
|
||||
mClient = client;
|
||||
reloadConnectivitySettings();
|
||||
}
|
||||
|
||||
public void reloadConnectivitySettings() {
|
||||
mClient = TwitterAPIFactory.getDefaultHttpClient(mContext, mNetwork);
|
||||
if (mUseThumbor && mPreferences.getBoolean(KEY_THUMBOR_ENABLED)) {
|
||||
final String address = mPreferences.getString(KEY_THUMBOR_ADDRESS, null);
|
||||
final String securityKey = mPreferences.getString(KEY_THUMBOR_SECURITY_KEY, null);
|
||||
|
|
|
@ -70,7 +70,12 @@ public class OkHttpRestClient implements RestHttpClient {
|
|||
DebugModeUtils.initForHttpClient(client);
|
||||
}
|
||||
|
||||
public OkHttpClient getClient() {
|
||||
return client;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
||||
@Override
|
||||
public RestHttpResponse execute(RestHttpRequest restHttpRequest) throws IOException {
|
||||
final Call call = newCall(restHttpRequest);
|
||||
|
|
Loading…
Reference in New Issue