this commit may fix wrong profile image bug
This commit is contained in:
parent
059360a942
commit
9c7bace28e
|
@ -1,8 +1,8 @@
|
|||
package org.mariotaku.twidere.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
||||
import com.negusoft.holoaccent.AccentHelper;
|
||||
import com.negusoft.holoaccent.AccentResources;
|
||||
|
@ -15,8 +15,14 @@ import com.negusoft.holoaccent.AccentResources;
|
|||
*/
|
||||
public class AccentActivity extends Activity {
|
||||
|
||||
private final AccentHelper mAccentHelper = new AccentHelper(getOverrideAccentColor(),
|
||||
private AccentHelper mAccentHelper;
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
mAccentHelper = new AccentHelper(getOverrideAccentColor(),
|
||||
getOverrideAccentColorDark(), getOverrideAccentColorActionBar(), new MyInitListener());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
|
|
|
@ -39,7 +39,7 @@ public class BaseActivity extends BaseThemedActivity implements Constants {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
public int getOverrideAccentColor() {
|
||||
return ThemeUtils.getUserThemeColor(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
public int getOverrideAccentColor() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ public abstract class BaseThemedActivity extends AccentActivity implements IThem
|
|||
}
|
||||
|
||||
@Override
|
||||
public abstract int getThemeColor();
|
||||
public abstract int getOverrideAccentColor();
|
||||
|
||||
@Override
|
||||
public String getThemeFontFamily() {
|
||||
|
@ -134,7 +134,7 @@ public abstract class BaseThemedActivity extends AccentActivity implements IThem
|
|||
}
|
||||
|
||||
protected final boolean isThemeChanged() {
|
||||
return getThemeResourceId() != mCurrentThemeResource || getThemeColor() != mCurrentThemeColor
|
||||
return getThemeResourceId() != mCurrentThemeResource || getOverrideAccentColor() != mCurrentThemeColor
|
||||
|| !CompareUtils.objectEquals(getThemeFontFamily(), mCurrentThemeFontFamily)
|
||||
|| getThemeBackgroundAlpha() != mCurrentThemeBackgroundAlpha;
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ public abstract class BaseThemedActivity extends AccentActivity implements IThem
|
|||
|
||||
private final void setTheme() {
|
||||
mCurrentThemeResource = getThemeResourceId();
|
||||
mCurrentThemeColor = getThemeColor();
|
||||
mCurrentThemeColor = getOverrideAccentColor();
|
||||
mCurrentThemeFontFamily = getThemeFontFamily();
|
||||
mCurrentThemeBackgroundAlpha = getThemeBackgroundAlpha();
|
||||
ThemeUtils.notifyStatusBarColorChanged(this, mCurrentThemeResource, mCurrentThemeColor,
|
||||
|
|
|
@ -179,7 +179,7 @@ public class SettingsActivity extends BasePreferenceActivity {
|
|||
mPreferences = getSharedPreferences(SHARED_PREFERENCES_NAME, MODE_PRIVATE);
|
||||
mCompactCards = mPreferences.getBoolean(KEY_COMPACT_CARDS, false);
|
||||
mPlainListStyle = mPreferences.getBoolean(KEY_PLAIN_LIST_STYLE, false);
|
||||
mCurrentThemeColor = getThemeColor();
|
||||
mCurrentThemeColor = getOverrideAccentColor();
|
||||
mCurrentThemeFontFamily = getThemeFontFamily();
|
||||
mCurrentThemeBackgroundAlpha = getThemeBackgroundAlpha();
|
||||
mCurrentIsDarkDrawerEnabled = isDarkDrawerEnabled();
|
||||
|
@ -195,7 +195,8 @@ public class SettingsActivity extends BasePreferenceActivity {
|
|||
private boolean shouldNotifyThemeChange() {
|
||||
return mCompactCards != mPreferences.getBoolean(KEY_COMPACT_CARDS, false)
|
||||
|| mPlainListStyle != mPreferences.getBoolean(KEY_PLAIN_LIST_STYLE, false)
|
||||
|| getThemeResourceId() != getCurrentThemeResourceId() || getThemeColor() != mCurrentThemeColor
|
||||
|| getThemeResourceId() != getCurrentThemeResourceId()
|
||||
|| ThemeUtils.getUserThemeColor(this) != mCurrentThemeColor
|
||||
|| !CompareUtils.objectEquals(getThemeFontFamily(), mCurrentThemeFontFamily)
|
||||
|| getThemeBackgroundAlpha() != mCurrentThemeBackgroundAlpha
|
||||
|| isDarkDrawerEnabled() != mCurrentIsDarkDrawerEnabled;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package org.mariotaku.twidere.activity;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountId;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
|
@ -20,6 +18,8 @@ import org.mariotaku.twidere.util.Utils;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getDefaultAccountId;
|
||||
|
||||
public class TwitterLinkHandlerActivity extends Activity implements Constants {
|
||||
|
||||
public static final String[] TWITTER_RESERVED_PATHS = {"about", "account", "accounts", "activity", "all",
|
||||
|
@ -43,9 +43,13 @@ public class TwitterLinkHandlerActivity extends Activity implements Constants {
|
|||
private static final int URI_CODE_TWITTER_USER_FOLLOWING = 11;
|
||||
private static final int URI_CODE_TWITTER_USER_FOLLOWERS = 12;
|
||||
private static final int URI_CODE_TWITTER_USER_FAVORITES = 13;
|
||||
private static final int URI_CODE_TWITTER_USER_LIST = 14;
|
||||
private static final int URI_CODE_TWITTER_USER_LIST_MEMBERS = 41;
|
||||
private static final int URI_CODE_TWITTER_USER_LIST_SUBSCRIBERS = 42;
|
||||
private static final int URI_CODE_TWITTER_INTENT_TWEET = 101;
|
||||
private static final int URI_CODE_TWITTER_REDIRECT = 201;
|
||||
|
||||
|
||||
static {
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/i/redirect", URI_CODE_TWITTER_REDIRECT);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/intent/tweet", URI_CODE_TWITTER_INTENT_TWEET);
|
||||
|
@ -55,6 +59,9 @@ public class TwitterLinkHandlerActivity extends Activity implements Constants {
|
|||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/following", URI_CODE_TWITTER_USER_FOLLOWING);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/followers", URI_CODE_TWITTER_USER_FOLLOWERS);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/favorites", URI_CODE_TWITTER_USER_FAVORITES);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/*", URI_CODE_TWITTER_USER_LIST);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/*/members", URI_CODE_TWITTER_USER_LIST_MEMBERS);
|
||||
URI_MATCHER.addURI(AUTHORITY_TWITTER_COM, "/*/*/subscribers", URI_CODE_TWITTER_USER_LIST_MEMBERS);
|
||||
}
|
||||
|
||||
private SharedPreferences mPreferences;
|
||||
|
@ -186,6 +193,42 @@ public class TwitterLinkHandlerActivity extends Activity implements Constants {
|
|||
builder.appendQueryParameter(QUERY_PARAM_SCREEN_NAME, pathSegments.get(0));
|
||||
return new Intent(Intent.ACTION_VIEW, builder.build());
|
||||
}
|
||||
case URI_CODE_TWITTER_USER_LIST: {
|
||||
final String firstSegment = pathSegments.get(0);
|
||||
if (ArrayUtils.contains(TWITTER_RESERVED_PATHS, firstSegment)) {
|
||||
return null;
|
||||
}
|
||||
final Uri.Builder builder = new Uri.Builder();
|
||||
builder.scheme(SCHEME_TWIDERE);
|
||||
builder.authority(AUTHORITY_USER_LIST);
|
||||
builder.appendQueryParameter(QUERY_PARAM_SCREEN_NAME, firstSegment);
|
||||
builder.appendQueryParameter(QUERY_PARAM_LIST_NAME, pathSegments.get(1));
|
||||
return new Intent(Intent.ACTION_VIEW, builder.build());
|
||||
}
|
||||
case URI_CODE_TWITTER_USER_LIST_MEMBERS: {
|
||||
final String firstSegment = pathSegments.get(0);
|
||||
if (ArrayUtils.contains(TWITTER_RESERVED_PATHS, firstSegment)) {
|
||||
return null;
|
||||
}
|
||||
final Uri.Builder builder = new Uri.Builder();
|
||||
builder.scheme(SCHEME_TWIDERE);
|
||||
builder.authority(AUTHORITY_USER_LIST_MEMBERS);
|
||||
builder.appendQueryParameter(QUERY_PARAM_SCREEN_NAME, firstSegment);
|
||||
builder.appendQueryParameter(QUERY_PARAM_LIST_NAME, pathSegments.get(1));
|
||||
return new Intent(Intent.ACTION_VIEW, builder.build());
|
||||
}
|
||||
case URI_CODE_TWITTER_USER_LIST_SUBSCRIBERS: {
|
||||
final String firstSegment = pathSegments.get(0);
|
||||
if (ArrayUtils.contains(TWITTER_RESERVED_PATHS, firstSegment)) {
|
||||
return null;
|
||||
}
|
||||
final Uri.Builder builder = new Uri.Builder();
|
||||
builder.scheme(SCHEME_TWIDERE);
|
||||
builder.authority(AUTHORITY_USER_LIST_SUBSCRIBERS);
|
||||
builder.appendQueryParameter(QUERY_PARAM_SCREEN_NAME, firstSegment);
|
||||
builder.appendQueryParameter(QUERY_PARAM_LIST_NAME, pathSegments.get(1));
|
||||
return new Intent(Intent.ACTION_VIEW, builder.build());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public interface IThemedActivity extends ITwidereContextWrapper {
|
|||
|
||||
public int getThemeBackgroundAlpha();
|
||||
|
||||
public int getThemeColor();
|
||||
public int getOverrideAccentColor();
|
||||
|
||||
public TwidereMenuInflater getTwidereMenuInflater();
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.mariotaku.twidere.activity.support;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
||||
|
@ -14,11 +15,20 @@ import com.negusoft.holoaccent.AccentResources;
|
|||
*/
|
||||
public class AccentFragmentActivity extends FragmentActivity {
|
||||
|
||||
private final AccentHelper mAccentHelper = new AccentHelper(getOverrideAccentColor(),
|
||||
private AccentHelper mAccentHelper;
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
mAccentHelper = new AccentHelper(getOverrideAccentColor(),
|
||||
getOverrideAccentColorDark(), getOverrideAccentColorActionBar(), new MyInitListener());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
if (mAccentHelper == null) {
|
||||
return super.getResources();
|
||||
}
|
||||
return mAccentHelper.getResources(this, super.getResources());
|
||||
}
|
||||
|
||||
|
|
|
@ -41,8 +41,8 @@ public class BaseSupportActivity extends BaseSupportThemedActivity implements Co
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
return ThemeUtils.getUserThemeColor(this);
|
||||
public int getOverrideAccentColor() {
|
||||
return ThemeUtils.getUserThemeColor(this, getThemeResourceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -45,8 +45,8 @@ public class BaseSupportDialogActivity extends BaseSupportThemedActivity impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
return ThemeUtils.getThemeColor(this);
|
||||
public int getOverrideAccentColor() {
|
||||
return ThemeUtils.getThemeColor(this, getThemeResourceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -77,7 +77,7 @@ public abstract class BaseSupportThemedActivity extends AccentFragmentActivity i
|
|||
}
|
||||
|
||||
@Override
|
||||
public abstract int getThemeColor();
|
||||
public abstract int getOverrideAccentColor();
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -156,7 +156,7 @@ public abstract class BaseSupportThemedActivity extends AccentFragmentActivity i
|
|||
|
||||
private final void setTheme() {
|
||||
mCurrentThemeResource = getThemeResourceId();
|
||||
mCurrentThemeColor = getThemeColor();
|
||||
mCurrentThemeColor = getOverrideAccentColor();
|
||||
mCurrentThemeBackgroundAlpha = getThemeBackgroundAlpha();
|
||||
ThemeUtils.notifyStatusBarColorChanged(this, mCurrentThemeResource, mCurrentThemeColor,
|
||||
mCurrentThemeBackgroundAlpha);
|
||||
|
|
|
@ -212,7 +212,7 @@ public class ComposeActivity extends BaseSupportDialogActivity implements TextWa
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
public int getOverrideAccentColor() {
|
||||
return ThemeUtils.getUserThemeColor(this);
|
||||
}
|
||||
|
||||
|
@ -240,7 +240,7 @@ public class ComposeActivity extends BaseSupportDialogActivity implements TextWa
|
|||
} else {
|
||||
mLocationManager.removeUpdates(this);
|
||||
}
|
||||
mPreferences.edit().putBoolean(KEY_ATTACH_LOCATION, !attachLocation).commit();
|
||||
mPreferences.edit().putBoolean(KEY_ATTACH_LOCATION, !attachLocation).apply();
|
||||
setMenu();
|
||||
updateTextCount();
|
||||
break;
|
||||
|
|
|
@ -45,7 +45,7 @@ public class ImagePickerActivity extends BaseSupportThemedActivity {
|
|||
private Runnable mImageSelectedRunnable;
|
||||
|
||||
@Override
|
||||
public int getThemeColor() {
|
||||
public int getOverrideAccentColor() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import org.mariotaku.menucomponent.internal.menu.MenuAdapter;
|
|||
import org.mariotaku.menucomponent.internal.menu.MenuUtils;
|
||||
import org.mariotaku.twidere.activity.iface.IThemedActivity;
|
||||
import org.mariotaku.twidere.fragment.support.BaseSupportDialogFragment;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
||||
public abstract class MenuDialogFragment extends BaseSupportDialogFragment implements OnItemClickListener {
|
||||
|
@ -31,7 +32,7 @@ public abstract class MenuDialogFragment extends BaseSupportDialogFragment imple
|
|||
final int themeRes, accentColor;
|
||||
if (activity instanceof IThemedActivity) {
|
||||
themeRes = ((IThemedActivity) activity).getThemeResourceId();
|
||||
accentColor = ((IThemedActivity) activity).getThemeColor();
|
||||
accentColor = ((IThemedActivity) activity).getOverrideAccentColor();
|
||||
} else {
|
||||
themeRes = ThemeUtils.getSettingsThemeResource(activity);
|
||||
accentColor = ThemeUtils.getUserThemeColor(activity);
|
||||
|
@ -49,7 +50,7 @@ public abstract class MenuDialogFragment extends BaseSupportDialogFragment imple
|
|||
listView.setOnItemClickListener(this);
|
||||
builder.setView(listView);
|
||||
final Menu menu = MenuUtils.createMenu(context);
|
||||
onCreateMenu(new MenuInflater(context), menu);
|
||||
onCreateMenu(new TwidereMenuInflater(context), menu);
|
||||
adapter.setMenu(menu);
|
||||
return builder.create();
|
||||
}
|
||||
|
@ -66,6 +67,6 @@ public abstract class MenuDialogFragment extends BaseSupportDialogFragment imple
|
|||
}
|
||||
}
|
||||
|
||||
protected abstract void onCreateMenu(MenuInflater inflater, Menu menu);
|
||||
protected abstract void onCreateMenu(TwidereMenuInflater inflater, Menu menu);
|
||||
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ public class AccountsAdapter extends SimpleCursorAdapter implements Constants {
|
|||
if (mDisplayProfileImage) {
|
||||
mImageLoader.displayProfileImage(holder.profile_image, cursor.getString(mProfileImageIdx));
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.profile_image);
|
||||
holder.profile_image.setImageResource(R.drawable.ic_profile_image_default);
|
||||
}
|
||||
final boolean isMultipleChoice = mChoiceMode == ListView.CHOICE_MODE_MULTIPLE
|
||||
|
|
|
@ -77,6 +77,7 @@ public class AccountsSpinnerAdapter extends ArrayAdapter<Account> {
|
|||
if (mDisplayProfileImage) {
|
||||
mImageLoader.displayProfileImage(icon, item.profile_image_url);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(icon);
|
||||
icon.setImageResource(R.drawable.ic_profile_image_default);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -217,6 +217,7 @@ public abstract class BaseParcelableActivitiesAdapter extends BaseArrayAdapter<P
|
|||
view.setVisibility(View.VISIBLE);
|
||||
mImageLoader.displayProfileImage(view, urls[i]);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(view);
|
||||
view.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,17 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserColor;
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.findStatusInDatabases;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getCardHighlightColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getCardHighlightOptionInt;
|
||||
import static org.mariotaku.twidere.util.Utils.isFiltered;
|
||||
import static org.mariotaku.twidere.util.Utils.openImage;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
@ -59,6 +48,17 @@ import org.mariotaku.twidere.view.iface.ICardItemView.OnOverflowIconClickListene
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserColor;
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.findStatusInDatabases;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getCardHighlightColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getCardHighlightOptionInt;
|
||||
import static org.mariotaku.twidere.util.Utils.isFiltered;
|
||||
import static org.mariotaku.twidere.util.Utils.openImage;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
public class CursorStatusesAdapter extends BaseCursorAdapter implements IStatusesAdapter<Cursor>, OnClickListener,
|
||||
OnOverflowIconClickListener {
|
||||
|
||||
|
@ -118,9 +118,6 @@ public class CursorStatusesAdapter extends BaseCursorAdapter implements IStatuse
|
|||
if (!showGap) {
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.profile_image.setImageDrawable(null);
|
||||
holder.my_profile_image.setImageDrawable(null);
|
||||
holder.image_preview.setImageDrawable(null);
|
||||
|
||||
final TwidereLinkify linkify = getLinkify();
|
||||
final boolean showAccountColor = isShowAccountColor();
|
||||
|
@ -214,6 +211,8 @@ public class CursorStatusesAdapter extends BaseCursorAdapter implements IStatuse
|
|||
holder.profile_image.setTag(position);
|
||||
holder.my_profile_image.setTag(position);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.profile_image);
|
||||
mImageLoader.cancelDisplayTask(holder.my_profile_image);
|
||||
holder.profile_image.setVisibility(View.GONE);
|
||||
holder.my_profile_image.setVisibility(View.GONE);
|
||||
}
|
||||
|
@ -235,7 +234,13 @@ public class CursorStatusesAdapter extends BaseCursorAdapter implements IStatuse
|
|||
final int count = medias.length;
|
||||
holder.image_preview_count.setText(res.getQuantityString(R.plurals.N_medias, count, count));
|
||||
holder.image_preview.setTag(position);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.image_preview);
|
||||
}
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.profile_image);
|
||||
mImageLoader.cancelDisplayTask(holder.my_profile_image);
|
||||
mImageLoader.cancelDisplayTask(holder.image_preview);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ import org.mariotaku.twidere.view.holder.DirectMessageEntryViewHolder;
|
|||
public class DirectMessageConversationEntriesAdapter extends BaseCursorAdapter implements IBaseCardAdapter,
|
||||
OnClickListener {
|
||||
|
||||
private final ImageLoaderWrapper mLazyImageLoader;
|
||||
private final ImageLoaderWrapper mImageLoader;
|
||||
private final MultiSelectManager mMultiSelectManager;
|
||||
|
||||
private boolean mAnimationEnabled;
|
||||
|
@ -70,7 +70,7 @@ public class DirectMessageConversationEntriesAdapter extends BaseCursorAdapter i
|
|||
mPlainList = plainList;
|
||||
final TwidereApplication app = TwidereApplication.getInstance(context);
|
||||
mMultiSelectManager = app.getMultiSelectManager();
|
||||
mLazyImageLoader = app.getImageLoaderWrapper();
|
||||
mImageLoader = app.getImageLoaderWrapper();
|
||||
configBaseCardAdapter(context, this);
|
||||
}
|
||||
|
||||
|
@ -94,9 +94,6 @@ public class DirectMessageConversationEntriesAdapter extends BaseCursorAdapter i
|
|||
holder.setAccountColor(getAccountColor(mContext, accountId));
|
||||
}
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.profile_image.setImageDrawable(null);
|
||||
|
||||
holder.setUserColor(getUserColor(mContext, conversationId));
|
||||
|
||||
holder.setTextSize(getTextSize());
|
||||
|
@ -113,7 +110,9 @@ public class DirectMessageConversationEntriesAdapter extends BaseCursorAdapter i
|
|||
if (displayProfileImage) {
|
||||
holder.profile_image.setTag(position);
|
||||
final String profile_image_url_string = cursor.getString(IDX_PROFILE_IMAGE_URL);
|
||||
mLazyImageLoader.displayProfileImage(holder.profile_image, profile_image_url_string);
|
||||
mImageLoader.displayProfileImage(holder.profile_image, profile_image_url_string);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.profile_image);
|
||||
}
|
||||
if (position > mMaxAnimationPosition) {
|
||||
if (mAnimationEnabled) {
|
||||
|
|
|
@ -19,12 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.findDirectMessageInDatabases;
|
||||
import static org.mariotaku.twidere.util.Utils.formatToLongTimeString;
|
||||
import static org.mariotaku.twidere.util.Utils.openImage;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
|
@ -45,6 +39,12 @@ import org.mariotaku.twidere.view.holder.DirectMessageConversationViewHolder;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.findDirectMessageInDatabases;
|
||||
import static org.mariotaku.twidere.util.Utils.formatToLongTimeString;
|
||||
import static org.mariotaku.twidere.util.Utils.openImage;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
public class DirectMessagesConversationAdapter extends BaseCursorAdapter implements IDirectMessagesAdapter,
|
||||
OnClickListener {
|
||||
private ScaleType mImagePreviewScaleType;
|
||||
|
@ -83,10 +83,6 @@ public class DirectMessagesConversationAdapter extends BaseCursorAdapter impleme
|
|||
final long timestamp = cursor.getLong(mIndices.message_timestamp);
|
||||
final boolean is_outgoing = cursor.getInt(mIndices.is_outgoing) == 1;
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.incoming_profile_image.setImageDrawable(null);
|
||||
holder.outgoing_profile_image.setImageDrawable(null);
|
||||
|
||||
holder.incoming_message_container.setVisibility(is_outgoing ? View.GONE : View.VISIBLE);
|
||||
holder.outgoing_message_container.setVisibility(is_outgoing ? View.VISIBLE : View.GONE);
|
||||
holder.setTextSize(getTextSize());
|
||||
|
@ -106,6 +102,9 @@ public class DirectMessagesConversationAdapter extends BaseCursorAdapter impleme
|
|||
mImageLoader.displayProfileImage(holder.outgoing_profile_image, profile_image_url_string);
|
||||
holder.incoming_profile_image.setTag(position);
|
||||
holder.outgoing_profile_image.setTag(position);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.incoming_profile_image);
|
||||
mImageLoader.cancelDisplayTask(holder.outgoing_profile_image);
|
||||
}
|
||||
if (position > mMaxAnimationPosition) {
|
||||
if (mAnimationEnabled) {
|
||||
|
@ -117,9 +116,12 @@ public class DirectMessagesConversationAdapter extends BaseCursorAdapter impleme
|
|||
holder.outgoing_item_menu.setTag(position);
|
||||
|
||||
if (firstMedia == null) {
|
||||
mImageLoader.cancelDisplayTask(holder.incoming_image_preview);
|
||||
mImageLoader.cancelDisplayTask(holder.outgoing_image_preview);
|
||||
holder.outgoing_image_preview_container.setVisibility(View.GONE);
|
||||
holder.incoming_image_preview_container.setVisibility(View.GONE);
|
||||
} else if (is_outgoing) {
|
||||
mImageLoader.cancelDisplayTask(holder.incoming_image_preview);
|
||||
holder.outgoing_image_preview_container.setVisibility(View.VISIBLE);
|
||||
holder.incoming_image_preview_container.setVisibility(View.GONE);
|
||||
if (mImagePreviewScaleType != null) {
|
||||
|
@ -132,6 +134,7 @@ public class DirectMessagesConversationAdapter extends BaseCursorAdapter impleme
|
|||
}
|
||||
holder.outgoing_image_preview.setTag(position);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.outgoing_image_preview);
|
||||
holder.outgoing_image_preview_container.setVisibility(View.GONE);
|
||||
holder.incoming_image_preview_container.setVisibility(View.VISIBLE);
|
||||
if (mImagePreviewScaleType != null) {
|
||||
|
|
|
@ -68,8 +68,11 @@ public class DraftsAdapter extends SimpleCursorAdapter {
|
|||
holder.image_preview_container.setVisibility(TextUtils.isEmpty(mediaUri) ? View.GONE : View.VISIBLE);
|
||||
if (mediaUri != null && !mediaUri.equals(mImageLoadingHandler.getLoadingUri(holder.image_preview))) {
|
||||
mImageLoader.displayPreviewImage(holder.image_preview, mediaUri, mImageLoadingHandler);
|
||||
}else {
|
||||
mImageLoader.cancelDisplayTask(holder.image_preview);
|
||||
}
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.image_preview);
|
||||
holder.image_preview_container.setVisibility(View.GONE);
|
||||
}
|
||||
holder.content.drawEnd(getAccountColors(context, accountIds));
|
||||
|
|
|
@ -62,6 +62,7 @@ public class MediaPreviewAdapter extends ArrayAdapter<String> implements Constan
|
|||
if (mIsPossiblySensitive && !mPreferences.getBoolean(KEY_DISPLAY_SENSITIVE_CONTENTS, false)) {
|
||||
view.findViewById(R.id.image_preview_progress).setVisibility(View.GONE);
|
||||
image_view.setBackgroundResource(R.drawable.image_preview_nsfw);
|
||||
mImageLoader.cancelDisplayTask(image_view);
|
||||
} else if (!link.equals(mImageLoadingHandler.getLoadingUri(image_view))) {
|
||||
image_view.setBackgroundResource(0);
|
||||
mImageLoader.displayPreviewImage(image_view, link, mImageLoadingHandler);
|
||||
|
|
|
@ -184,17 +184,12 @@ public class ParcelableStatusesAdapter extends BaseArrayAdapter<ParcelableStatus
|
|||
holder.setDisplayProfileImage(isDisplayProfileImage());
|
||||
holder.setCardHighlightOption(mCardHighlightOption);
|
||||
|
||||
final ImageLoaderWrapper loader = getImageLoader();
|
||||
if (!showGap) {
|
||||
final TwidereLinkify linkify = getLinkify();
|
||||
final ImageLoaderWrapper loader = getImageLoader();
|
||||
final int highlightOption = getLinkHighlightOption();
|
||||
final boolean mShowAccountColor = isShowAccountColor();
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.profile_image.setImageDrawable(null);
|
||||
holder.my_profile_image.setImageDrawable(null);
|
||||
holder.image_preview.setImageDrawable(null);
|
||||
|
||||
holder.setAccountColorEnabled(mShowAccountColor);
|
||||
|
||||
if (highlightOption != VALUE_LINK_HIGHLIGHT_OPTION_CODE_NONE) {
|
||||
|
@ -259,6 +254,8 @@ public class ParcelableStatusesAdapter extends BaseArrayAdapter<ParcelableStatus
|
|||
holder.profile_image.setTag(position);
|
||||
holder.my_profile_image.setTag(position);
|
||||
} else {
|
||||
loader.cancelDisplayTask(holder.profile_image);
|
||||
loader.cancelDisplayTask(holder.my_profile_image);
|
||||
holder.profile_image.setVisibility(View.GONE);
|
||||
holder.my_profile_image.setVisibility(View.GONE);
|
||||
}
|
||||
|
@ -280,7 +277,13 @@ public class ParcelableStatusesAdapter extends BaseArrayAdapter<ParcelableStatus
|
|||
final int count = status.medias.length;
|
||||
holder.image_preview_count.setText(res.getQuantityString(R.plurals.N_medias, count, count));
|
||||
holder.image_preview.setTag(position);
|
||||
} else {
|
||||
loader.cancelDisplayTask(holder.image_preview);
|
||||
}
|
||||
} else {
|
||||
loader.cancelDisplayTask(holder.profile_image);
|
||||
loader.cancelDisplayTask(holder.my_profile_image);
|
||||
loader.cancelDisplayTask(holder.image_preview);
|
||||
}
|
||||
if (position > mMaxAnimationPosition) {
|
||||
if (mAnimationEnabled) {
|
||||
|
|
|
@ -19,11 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getDisplayName;
|
||||
import static org.mariotaku.twidere.util.Utils.getLocalizedNumber;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
@ -44,11 +39,16 @@ import org.mariotaku.twidere.view.iface.ICardItemView.OnOverflowIconClickListene
|
|||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getDisplayName;
|
||||
import static org.mariotaku.twidere.util.Utils.getLocalizedNumber;
|
||||
import static org.mariotaku.twidere.util.Utils.openUserProfile;
|
||||
|
||||
public class ParcelableUserListsAdapter extends BaseArrayAdapter<ParcelableUserList> implements IBaseCardAdapter,
|
||||
OnClickListener, OnOverflowIconClickListener {
|
||||
|
||||
private final Context mContext;
|
||||
private final ImageLoaderWrapper mProfileImageLoader;
|
||||
private final ImageLoaderWrapper mImageLoader;
|
||||
private final MultiSelectManager mMultiSelectManager;
|
||||
private final Locale mLocale;
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class ParcelableUserListsAdapter extends BaseArrayAdapter<ParcelableUserL
|
|||
mContext = context;
|
||||
mLocale = context.getResources().getConfiguration().locale;
|
||||
final TwidereApplication app = TwidereApplication.getInstance(context);
|
||||
mProfileImageLoader = app.getImageLoaderWrapper();
|
||||
mImageLoader = app.getImageLoaderWrapper();
|
||||
mMultiSelectManager = app.getMultiSelectManager();
|
||||
configBaseCardAdapter(context, this);
|
||||
}
|
||||
|
@ -101,8 +101,6 @@ public class ParcelableUserListsAdapter extends BaseArrayAdapter<ParcelableUserL
|
|||
}
|
||||
|
||||
holder.position = position;
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.profile_image.setImageDrawable(null);
|
||||
|
||||
final ParcelableUserList user_list = getItem(position);
|
||||
final String display_name = getDisplayName(mContext, user_list.user_id, user_list.user_name,
|
||||
|
@ -116,7 +114,9 @@ public class ParcelableUserListsAdapter extends BaseArrayAdapter<ParcelableUserL
|
|||
holder.subscribers_count.setText(getLocalizedNumber(mLocale, user_list.subscribers_count));
|
||||
holder.profile_image.setVisibility(isDisplayProfileImage() ? View.VISIBLE : View.GONE);
|
||||
if (isDisplayProfileImage()) {
|
||||
mProfileImageLoader.displayProfileImage(holder.profile_image, user_list.user_profile_image_url);
|
||||
mImageLoader.displayProfileImage(holder.profile_image, user_list.user_profile_image_url);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.profile_image);
|
||||
}
|
||||
holder.profile_image.setTag(position);
|
||||
if (position > mMaxAnimationPosition) {
|
||||
|
|
|
@ -19,13 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserColor;
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getLocalizedNumber;
|
||||
import static org.mariotaku.twidere.util.Utils.getUserTypeIconRes;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
@ -44,6 +37,13 @@ import org.mariotaku.twidere.view.iface.ICardItemView.OnOverflowIconClickListene
|
|||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserColor;
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseCardAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountColor;
|
||||
import static org.mariotaku.twidere.util.Utils.getLocalizedNumber;
|
||||
import static org.mariotaku.twidere.util.Utils.getUserTypeIconRes;
|
||||
|
||||
public class ParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUser> implements IBaseCardAdapter,
|
||||
OnOverflowIconClickListener {
|
||||
|
||||
|
@ -82,7 +82,7 @@ public class ParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUser> imp
|
|||
public View getView(final int position, final View convertView, final ViewGroup parent) {
|
||||
final View view = super.getView(position, convertView, parent);
|
||||
final Object tag = view.getTag();
|
||||
UserViewHolder holder = null;
|
||||
final UserViewHolder holder;
|
||||
if (tag instanceof UserViewHolder) {
|
||||
holder = (UserViewHolder) tag;
|
||||
} else {
|
||||
|
@ -95,8 +95,6 @@ public class ParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUser> imp
|
|||
view.setTag(holder);
|
||||
}
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.profile_image.setImageDrawable(null);
|
||||
holder.position = position;
|
||||
|
||||
final ParcelableUser user = getItem(position);
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getDisplayName;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -35,16 +32,19 @@ import org.mariotaku.twidere.view.holder.TwoLineWithIconViewHolder;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getDisplayName;
|
||||
|
||||
public class SimpleParcelableUserListsAdapter extends BaseArrayAdapter<ParcelableUserList> implements IBaseAdapter {
|
||||
|
||||
private final Context mContext;
|
||||
private final ImageLoaderWrapper mProfileImageLoader;
|
||||
private final ImageLoaderWrapper mImageLoader;
|
||||
|
||||
public SimpleParcelableUserListsAdapter(final Context context) {
|
||||
super(context, R.layout.list_item_two_line);
|
||||
mContext = context;
|
||||
final TwidereApplication app = TwidereApplication.getInstance(context);
|
||||
mProfileImageLoader = app.getImageLoaderWrapper();
|
||||
mImageLoader = app.getImageLoaderWrapper();
|
||||
configBaseAdapter(context, this);
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,9 @@ public class SimpleParcelableUserListsAdapter extends BaseArrayAdapter<Parcelabl
|
|||
holder.text2.setText(mContext.getString(R.string.created_by, display_name));
|
||||
holder.icon.setVisibility(isDisplayProfileImage() ? View.VISIBLE : View.GONE);
|
||||
if (isDisplayProfileImage()) {
|
||||
mProfileImageLoader.displayProfileImage(holder.icon, user_list.user_profile_image_url);
|
||||
mImageLoader.displayProfileImage(holder.icon, user_list.user_profile_image_url);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.icon);
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
|
|
@ -19,10 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.adapter;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getUserTypeIconRes;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
@ -37,16 +33,20 @@ import org.mariotaku.twidere.view.holder.TwoLineWithIconViewHolder;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import static org.mariotaku.twidere.util.UserColorNicknameUtils.getUserNickname;
|
||||
import static org.mariotaku.twidere.util.Utils.configBaseAdapter;
|
||||
import static org.mariotaku.twidere.util.Utils.getUserTypeIconRes;
|
||||
|
||||
public class SimpleParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUser> implements IBaseAdapter {
|
||||
|
||||
private final ImageLoaderWrapper mProfileImageLoader;
|
||||
private final ImageLoaderWrapper mImageLoader;
|
||||
private final Context mContext;
|
||||
|
||||
public SimpleParcelableUsersAdapter(final Context context) {
|
||||
super(context, R.layout.list_item_two_line);
|
||||
mContext = context;
|
||||
final TwidereApplication app = TwidereApplication.getInstance(context);
|
||||
mProfileImageLoader = app.getImageLoaderWrapper();
|
||||
mImageLoader = app.getImageLoaderWrapper();
|
||||
configBaseAdapter(context, this);
|
||||
}
|
||||
|
||||
|
@ -67,9 +67,6 @@ public class SimpleParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUse
|
|||
view.setTag(holder);
|
||||
}
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
holder.icon.setImageDrawable(null);
|
||||
|
||||
final ParcelableUser user = getItem(position);
|
||||
|
||||
holder.text1.setCompoundDrawablesWithIntrinsicBounds(0, 0,
|
||||
|
@ -80,7 +77,9 @@ public class SimpleParcelableUsersAdapter extends BaseArrayAdapter<ParcelableUse
|
|||
holder.text2.setText("@" + user.screen_name);
|
||||
holder.icon.setVisibility(isDisplayProfileImage() ? View.VISIBLE : View.GONE);
|
||||
if (isDisplayProfileImage()) {
|
||||
mProfileImageLoader.displayProfileImage(holder.icon, user.profile_image_url);
|
||||
mImageLoader.displayProfileImage(holder.icon, user.profile_image_url);
|
||||
} else {
|
||||
mImageLoader.cancelDisplayTask(holder.icon);
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ public class UserHashtagAutoCompleteAdapter extends SimpleCursorAdapter implemen
|
|||
final int themeRes, accentColor;
|
||||
if (context instanceof IThemedActivity) {
|
||||
themeRes = ((IThemedActivity) context).getThemeResourceId();
|
||||
accentColor = ((IThemedActivity) context).getThemeColor();
|
||||
accentColor = ((IThemedActivity) context).getOverrideAccentColor();
|
||||
} else {
|
||||
themeRes = ThemeUtils.getThemeResource(context);
|
||||
accentColor = ThemeUtils.getUserThemeColor(context);
|
||||
|
|
|
@ -19,14 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.fragment;
|
||||
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getConfiguraionMap;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconDrawable;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconObject;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabTypeName;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.isTabAdded;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.isTabTypeValid;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountIds;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.LoaderManager.LoaderCallbacks;
|
||||
import android.content.ContentResolver;
|
||||
|
@ -44,7 +36,6 @@ import android.text.TextUtils;
|
|||
import android.view.ActionMode;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
import android.view.View;
|
||||
|
@ -80,6 +71,14 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getConfiguraionMap;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconDrawable;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconObject;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabTypeName;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.isTabAdded;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.isTabTypeValid;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountIds;
|
||||
|
||||
public class CustomTabsFragment extends BaseListFragment implements LoaderCallbacks<Cursor>, Panes.Right,
|
||||
MultiChoiceModeListener, DropListener {
|
||||
|
||||
|
@ -167,7 +166,7 @@ public class CustomTabsFragment extends BaseListFragment implements LoaderCallba
|
|||
|
||||
@Override
|
||||
public boolean onCreateActionMode(final ActionMode mode, final Menu menu) {
|
||||
new MenuInflater(getActivity()).inflate(R.menu.action_multi_select_items, menu);
|
||||
new TwidereMenuInflater(getActivity()).inflate(R.menu.action_multi_select_items, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@ import android.util.SparseBooleanArray;
|
|||
import android.view.ActionMode;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -104,7 +103,7 @@ public class HostMappingsListFragment extends BaseListFragment implements MultiC
|
|||
|
||||
@Override
|
||||
public boolean onCreateActionMode(final ActionMode mode, final Menu menu) {
|
||||
new MenuInflater(getActivity()).inflate(R.menu.action_multi_select_items, menu);
|
||||
new TwidereMenuInflater(getActivity()).inflate(R.menu.action_multi_select_items, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ public class AccountsDrawerFragment extends BaseSupportListFragment implements L
|
|||
break;
|
||||
}
|
||||
case MENU_SET_AS_DEFAULT: {
|
||||
mPreferences.edit().putLong(KEY_DEFAULT_ACCOUNT_ID, account.account_id).commit();
|
||||
mPreferences.edit().putLong(KEY_DEFAULT_ACCOUNT_ID, account.account_id).apply();
|
||||
break;
|
||||
}
|
||||
case MENU_DELETE: {
|
||||
|
|
|
@ -2,9 +2,9 @@ package org.mariotaku.twidere.fragment.support;
|
|||
|
||||
import android.content.Context;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.model.Account;
|
||||
import org.mariotaku.twidere.model.Account.AccountWithCredentials;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
@ -16,7 +16,7 @@ public class IncomingFriendshipsMenuDialogFragment extends UserMenuDialogFragmen
|
|||
final Context context = getThemedContext();
|
||||
final AccountWithCredentials account = Account.getAccountWithCredentials(context, user.account_id);
|
||||
if (AccountWithCredentials.isOfficialCredentials(context, account)) {
|
||||
final MenuInflater inflater = new MenuInflater(context);
|
||||
final TwidereMenuInflater inflater = new TwidereMenuInflater(context);
|
||||
inflater.inflate(R.menu.action_incoming_friendship, menu);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.setMenuForStatus;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.activity.support.MenuDialogFragment;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.setMenuForStatus;
|
||||
|
||||
public class StatusMenuDialogFragment extends MenuDialogFragment {
|
||||
|
||||
@Override
|
||||
protected void onCreateMenu(final MenuInflater inflater, final Menu menu) {
|
||||
protected void onCreateMenu(final TwidereMenuInflater inflater, final Menu menu) {
|
||||
inflater.inflate(R.menu.action_status, menu);
|
||||
final SharedPreferences prefs = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final Bundle args = getArguments();
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.addIntentToMenu;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.activity.support.MenuDialogFragment;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.model.ParcelableUserList;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.addIntentToMenu;
|
||||
|
||||
public class UserListMenuDialogFragment extends MenuDialogFragment {
|
||||
|
||||
@Override
|
||||
protected void onCreateMenu(final MenuInflater inflater, final Menu menu) {
|
||||
protected void onCreateMenu(final TwidereMenuInflater inflater, final Menu menu) {
|
||||
final SharedPreferences prefs = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final Bundle args = getArguments();
|
||||
final ParcelableUserList user = args.getParcelable(EXTRA_USER_LIST);
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
package org.mariotaku.twidere.fragment.support;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.addIntentToMenu;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
||||
import org.mariotaku.twidere.activity.support.MenuDialogFragment;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.addIntentToMenu;
|
||||
|
||||
public class UserMenuDialogFragment extends MenuDialogFragment {
|
||||
|
||||
@Override
|
||||
protected void onCreateMenu(final MenuInflater inflater, final Menu menu) {
|
||||
protected void onCreateMenu(final TwidereMenuInflater inflater, final Menu menu) {
|
||||
final SharedPreferences prefs = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final Bundle args = getArguments();
|
||||
final ParcelableUser user = args.getParcelable(EXTRA_USER);
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.util.Xml;
|
|||
import android.view.ActionProvider;
|
||||
import android.view.InflateException;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
import android.view.View;
|
||||
|
@ -48,7 +49,7 @@ import java.lang.reflect.Method;
|
|||
* it only works with an XmlPullParser returned from a compiled resource (R.
|
||||
* <em>something</em> file.)
|
||||
*/
|
||||
public class TwidereMenuInflater {
|
||||
public class TwidereMenuInflater extends MenuInflater {
|
||||
private static final String LOG_TAG = "MenuInflater";
|
||||
|
||||
/**
|
||||
|
@ -96,6 +97,7 @@ public class TwidereMenuInflater {
|
|||
* @see Activity#getMenuInflater()
|
||||
*/
|
||||
public TwidereMenuInflater(Context context, Object realOwner) {
|
||||
super(context);
|
||||
mContext = context;
|
||||
mResources = context.getResources();
|
||||
mRealOwner = realOwner;
|
||||
|
@ -112,6 +114,7 @@ public class TwidereMenuInflater {
|
|||
* @param menu The Menu to inflate into. The items and submenus will be
|
||||
* added to this Menu.
|
||||
*/
|
||||
@Override
|
||||
public void inflate(int menuRes, Menu menu) {
|
||||
XmlResourceParser parser = null;
|
||||
try {
|
||||
|
|
|
@ -107,7 +107,7 @@ public class AsyncTaskManager {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean isExcuting(final int hashCode) {
|
||||
public boolean isExecuting(final int hashCode) {
|
||||
final ManagedAsyncTask<?, ?, ?> task = findTask(hashCode);
|
||||
if (task != null && task.getStatus() == AsyncTask.Status.RUNNING) return true;
|
||||
return false;
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getBestBannerType;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.ImageView;
|
||||
|
@ -33,6 +31,8 @@ import org.mariotaku.twidere.Constants;
|
|||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.util.imageloader.AccountExtra;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.getBestBannerType;
|
||||
|
||||
public class ImageLoaderWrapper implements Constants {
|
||||
|
||||
private final ImageLoader mImageLoader;
|
||||
|
@ -101,4 +101,8 @@ public class ImageLoaderWrapper implements Constants {
|
|||
public void loadProfileImage(final String url, final ImageLoadingListener listener) {
|
||||
mImageLoader.loadImage(url, mProfileImageDisplayOptions, listener);
|
||||
}
|
||||
|
||||
public void cancelDisplayTask(ImageView imageView) {
|
||||
mImageLoader.cancelDisplayTask(imageView);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,11 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import static org.mariotaku.twidere.util.ContentValuesCreator.makeFilterdUserContentValues;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountScreenNames;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkDelete;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkInsert;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.ContentValues;
|
||||
|
@ -31,19 +26,16 @@ import android.content.Intent;
|
|||
import android.os.Bundle;
|
||||
import android.view.ActionMode;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.twitter.Extractor;
|
||||
|
||||
import de.keyboardsurfer.android.widget.crouton.Crouton;
|
||||
import de.keyboardsurfer.android.widget.crouton.CroutonStyle;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.activity.support.BaseSupportActivity;
|
||||
import org.mariotaku.twidere.app.TwidereApplication;
|
||||
import org.mariotaku.twidere.menu.AccountActionProvider;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
import org.mariotaku.twidere.model.Account;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
|
@ -57,6 +49,14 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import de.keyboardsurfer.android.widget.crouton.Crouton;
|
||||
import de.keyboardsurfer.android.widget.crouton.CroutonStyle;
|
||||
|
||||
import static org.mariotaku.twidere.util.ContentValuesCreator.makeFilterdUserContentValues;
|
||||
import static org.mariotaku.twidere.util.Utils.getAccountScreenNames;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkDelete;
|
||||
import static org.mariotaku.twidere.util.content.ContentResolverUtils.bulkInsert;
|
||||
|
||||
@SuppressLint("Registered")
|
||||
public class MultiSelectEventHandler implements Constants, ActionMode.Callback, MultiSelectManager.Callback {
|
||||
|
||||
|
@ -195,7 +195,7 @@ public class MultiSelectEventHandler implements Constants, ActionMode.Callback,
|
|||
|
||||
@Override
|
||||
public boolean onCreateActionMode(final ActionMode mode, final Menu menu) {
|
||||
new MenuInflater(mActivity).inflate(R.menu.action_multi_select_contents, menu);
|
||||
new TwidereMenuInflater(mActivity).inflate(R.menu.action_multi_select_contents, menu);
|
||||
mAccountActionProvider = (AccountActionProvider) menu.findItem(MENU_SELECT_ACCOUNT).getActionProvider();
|
||||
mAccountActionProvider.setAccountId(mMultiSelectManager.getFirstSelectAccountId());
|
||||
return true;
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.app.ActionBar;
|
|||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
|
@ -32,6 +31,7 @@ import android.graphics.Typeface;
|
|||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.LayerDrawable;
|
||||
import android.os.Build;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.text.TextPaint;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
|
@ -289,8 +289,8 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static boolean getDarkActionBarOption(final Context context) {
|
||||
if (context == null) return true;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
return pref == null || pref.getBoolean(KEY_THEME_DARK_ACTIONBAR, true);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getBoolean(KEY_THEME_DARK_ACTIONBAR, true);
|
||||
}
|
||||
|
||||
public static Context getDialogThemedContext(final Context context) {
|
||||
|
@ -388,7 +388,7 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static int getNoDisplayThemeResource(final Context context) {
|
||||
if (context == null) return R.style.Theme_Twidere_Dark_NoDisplay;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
final String theme = pref.getString(KEY_THEME, VALUE_THEME_NAME_TWIDERE);
|
||||
if (VALUE_THEME_NAME_DARK.equals(theme)) return R.style.Theme_Twidere_Dark_NoDisplay;
|
||||
return R.style.Theme_Twidere_Light_NoDisplay;
|
||||
|
@ -396,8 +396,7 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static Resources getResources(final Context context) {
|
||||
if (context instanceof IThemedActivity) {
|
||||
final Resources defRes = ((IThemedActivity) context).getDefaultResources();
|
||||
return defRes;
|
||||
return ((IThemedActivity) context).getDefaultResources();
|
||||
}
|
||||
return context.getResources();
|
||||
}
|
||||
|
@ -473,8 +472,7 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static String getThemeBackgroundOption(final Context context) {
|
||||
if (context == null) return VALUE_THEME_BACKGROUND_DEFAULT;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
if (pref == null) return VALUE_THEME_BACKGROUND_DEFAULT;
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getString(KEY_THEME_BACKGROUND, VALUE_THEME_BACKGROUND_DEFAULT);
|
||||
}
|
||||
|
||||
|
@ -501,10 +499,10 @@ public class ThemeUtils implements Constants {
|
|||
final int themeRes, accentColor;
|
||||
if (context instanceof IThemedActivity) {
|
||||
themeRes = ((IThemedActivity) context).getThemeResourceId();
|
||||
accentColor = ((IThemedActivity) context).getThemeColor();
|
||||
accentColor = ((IThemedActivity) context).getOverrideAccentColor();
|
||||
} else {
|
||||
themeRes = getSettingsThemeResource(context);
|
||||
accentColor = getUserThemeColor(context);
|
||||
accentColor = getUserThemeColor(context, themeRes);
|
||||
}
|
||||
return new TwidereContextThemeWrapper(context, getThemeResActionIcons(themeRes), accentColor);
|
||||
}
|
||||
|
@ -522,7 +520,7 @@ public class ThemeUtils implements Constants {
|
|||
final int themeRes, accentColor;
|
||||
if (context instanceof IThemedActivity) {
|
||||
themeRes = ((IThemedActivity) context).getThemeResourceId();
|
||||
accentColor = ((IThemedActivity) context).getThemeColor();
|
||||
accentColor = ((IThemedActivity) context).getOverrideAccentColor();
|
||||
} else {
|
||||
themeRes = getSettingsThemeResource(context);
|
||||
accentColor = getUserThemeColor(context);
|
||||
|
@ -533,7 +531,7 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static String getThemeFontFamily(final Context context) {
|
||||
if (context == null) return VALUE_THEME_FONT_FAMILY_REGULAR;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
final String fontFamily = pref.getString(KEY_THEME_FONT_FAMILY, VALUE_THEME_FONT_FAMILY_REGULAR);
|
||||
if (!TextUtils.isEmpty(fontFamily)) return fontFamily;
|
||||
return VALUE_THEME_FONT_FAMILY_REGULAR;
|
||||
|
@ -550,10 +548,17 @@ public class ThemeUtils implements Constants {
|
|||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static SharedPreferencesWrapper getSharedPreferencesWrapper(Context context) {
|
||||
final Context appContext = context.getApplicationContext();
|
||||
return SharedPreferencesWrapper.getInstance(appContext, SHARED_PREFERENCES_NAME,
|
||||
Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
public static String getThemeNameOption(final Context context) {
|
||||
if (context == null) return VALUE_THEME_NAME_TWIDERE;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
return pref != null ? pref.getString(KEY_THEME, VALUE_THEME_NAME_TWIDERE) : VALUE_THEME_NAME_TWIDERE;
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getString(KEY_THEME, VALUE_THEME_NAME_TWIDERE);
|
||||
}
|
||||
|
||||
public static int getThemeResActionIcons(final int baseThemeRes) {
|
||||
|
@ -651,16 +656,23 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static int getUserThemeBackgroundAlpha(final Context context) {
|
||||
if (context == null) return DEFAULT_THEME_BACKGROUND_ALPHA;
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getInt(KEY_THEME_BACKGROUND_ALPHA, DEFAULT_THEME_BACKGROUND_ALPHA);
|
||||
}
|
||||
|
||||
public static int getUserThemeColor(final Context context) {
|
||||
if (context == null) return Color.TRANSPARENT;
|
||||
final Resources res = getResources(context);
|
||||
final SharedPreferences pref = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
final int def = res.getColor(android.R.color.holo_blue_light);
|
||||
return pref != null ? pref.getInt(KEY_THEME_COLOR, def) : def;
|
||||
return pref.getInt(KEY_THEME_COLOR, def);
|
||||
}
|
||||
|
||||
public static int getUserThemeColor(final Context context, int themeRes) {
|
||||
if (context == null) return Color.TRANSPARENT;
|
||||
final int defThemeColor = getThemeColor(context, themeRes);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getInt(KEY_THEME_COLOR, defThemeColor);
|
||||
}
|
||||
|
||||
public static Typeface getUserTypeface(final Context context, final Typeface defTypeface) {
|
||||
|
@ -943,4 +955,16 @@ public class ThemeUtils implements Constants {
|
|||
public static Resources getThemedResourcesForActionIcons(Context context, int themeRes, int accentColor) {
|
||||
return getThemedContextForActionIcons(context, themeRes, accentColor).getResources();
|
||||
}
|
||||
|
||||
public static int getThemeColor(Context context, int themeResourceId) {
|
||||
final Context appContext = context.getApplicationContext();
|
||||
final Resources res = appContext.getResources();
|
||||
final TypedArray a = appContext.obtainStyledAttributes(null,
|
||||
new int[]{android.R.attr.colorActivatedHighlight}, 0, themeResourceId);
|
||||
try {
|
||||
return a.getColor(0, res.getColor(android.R.color.holo_blue_light));
|
||||
} finally {
|
||||
a.recycle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.util.content;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.trim;
|
||||
import static org.mariotaku.twidere.util.content.DatabaseUpgradeHelper.safeUpgrade;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
@ -49,6 +46,9 @@ import org.mariotaku.twidere.util.TwidereQueryBuilder.DirectMessagesQueryBuilder
|
|||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.mariotaku.twidere.util.Utils.trim;
|
||||
import static org.mariotaku.twidere.util.content.DatabaseUpgradeHelper.safeUpgrade;
|
||||
|
||||
public final class TwidereSQLiteOpenHelper extends SQLiteOpenHelper implements Constants {
|
||||
|
||||
private final Context mContext;
|
||||
|
@ -148,8 +148,11 @@ public final class TwidereSQLiteOpenHelper extends SQLiteOpenHelper implements C
|
|||
true, null);
|
||||
safeUpgrade(db, CachedTrends.Local.TABLE_NAME, CachedTrends.Local.COLUMNS, CachedTrends.Local.TYPES, true, null);
|
||||
safeUpgrade(db, Tabs.TABLE_NAME, Tabs.COLUMNS, Tabs.TYPES, false, null);
|
||||
db.beginTransaction();
|
||||
db.execSQL(createDirectMessagesView().getSQL());
|
||||
db.execSQL(createDirectMessageConversationEntriesView().getSQL());
|
||||
db.setTransactionSuccessful();
|
||||
db.endTransaction();
|
||||
}
|
||||
|
||||
private static String createTable(final String tableName, final String[] columns, final String[] types,
|
||||
|
|
|
@ -26,11 +26,11 @@ public class WhiteDrawableInterceptor implements AccentResources.Interceptor {
|
|||
|
||||
@Override
|
||||
public Drawable getDrawable(final Resources res, final AccentPalette palette, final int resId) {
|
||||
if (resId == R.drawable.solid_pressed_white_intercepted)
|
||||
if (resId == R.drawable.solid_white_pressed)
|
||||
return new ColorDrawable(mAccentPalette.getAccentColor(PRESSED_ALPHA));
|
||||
if (resId == R.drawable.solid_focused_white_intercepted)
|
||||
if (resId == R.drawable.solid_white_focused)
|
||||
return new ColorDrawable(mAccentPalette.getAccentColor(FOCUSED_ALPHA));
|
||||
if (resId == R.drawable.rect_focused_background_white_intercepted) {
|
||||
if (resId == R.drawable.rect_white_focused_background) {
|
||||
final int backColor = mAccentPalette.getAccentColor(0x55);
|
||||
final int borderColor = mAccentPalette.getAccentColor(0xAA);
|
||||
return new RectDrawable(mResources, backColor, 2f, borderColor);
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package org.mariotaku.twidere.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MenuInflater;
|
||||
|
||||
import org.mariotaku.menucomponent.widget.MenuBar;
|
||||
import org.mariotaku.twidere.menu.TwidereMenuInflater;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 14-7-29.
|
||||
*/
|
||||
public class TwidereMenuBar extends MenuBar {
|
||||
public TwidereMenuBar(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public TwidereMenuBar(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuInflater getMenuInflater() {
|
||||
return new TwidereMenuInflater(getContext());
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2013 NEGU Soft
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
|
||||
<item android:drawable="@drawable/rect_focused_background_white_intercepted"/>
|
||||
|
||||
</layer-list>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2013 NEGU Soft
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:drawable="@android:color/transparent" android:state_window_focused="false"/>
|
||||
|
||||
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
|
||||
<item android:drawable="@color/ha__selector_disabled_light" android:state_enabled="false" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@color/ha__selector_disabled_light" android:state_enabled="false" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/list_selector_transition_white" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/list_selector_transition_white" android:state_focused="false" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/focused_background_white" android:state_focused="true"/>
|
||||
|
||||
</selector>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
Copyright 2013 NEGU Soft
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -16,13 +15,13 @@
|
|||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:drawable="@android:color/transparent" android:state_window_focused="false"/>
|
||||
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
|
||||
|
||||
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
|
||||
<item android:drawable="@color/ha__selector_disabled" android:state_enabled="false" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@color/ha__selector_disabled" android:state_enabled="false" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/list_selector_transition_white" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/list_selector_transition_white" android:state_focused="false" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/focused_background_white" android:state_focused="true"/>
|
||||
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@color/ha__selector_disabled" />
|
||||
<item android:state_focused="true" android:state_enabled="false" android:drawable="@color/ha__selector_disabled" />
|
||||
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_white_transition" />
|
||||
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_white_transition" />
|
||||
<item android:state_focused="true" android:drawable="@drawable/rect_white_focused_background" />
|
||||
|
||||
</selector>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2013 NEGU Soft
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
|
||||
|
||||
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
|
||||
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@color/ha__selector_disabled_light" />
|
||||
<item android:state_focused="true" android:state_enabled="false" android:drawable="@color/ha__selector_disabled_light" />
|
||||
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/ha__list_selector_transition" />
|
||||
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/ha__list_selector_transition" />
|
||||
<item android:state_focused="true" android:drawable="@drawable/ha__rect_focused_background" />
|
||||
|
||||
</selector>
|
|
@ -16,7 +16,7 @@
|
|||
-->
|
||||
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
|
||||
<item android:drawable="@drawable/solid_pressed_white_intercepted"/>
|
||||
<item android:drawable="@drawable/solid_focused_white_intercepted"/>
|
||||
<item android:drawable="@drawable/solid_white_pressed"/>
|
||||
<item android:drawable="@drawable/solid_white_focused"/>
|
||||
|
||||
</transition>
|
|
@ -22,7 +22,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/send"
|
||||
android:cropToPadding="false"
|
||||
android:padding="@dimen/element_spacing_extra_small"
|
||||
android:padding="@dimen/element_spacing_xsmall"
|
||||
android:scaleType="centerCrop"
|
||||
app:image="@drawable/ic_iconic_action_send" />
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
android:padding="2dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<org.mariotaku.menucomponent.widget.MenuBar
|
||||
<org.mariotaku.twidere.view.TwidereMenuBar
|
||||
android:id="@+id/action_menu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:layout_weight="0">
|
||||
|
||||
<org.mariotaku.menucomponent.widget.MenuBar
|
||||
<org.mariotaku.twidere.view.TwidereMenuBar
|
||||
android:id="@+id/bottom_menu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<org.mariotaku.menucomponent.widget.MenuBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<org.mariotaku.twidere.view.TwidereMenuBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/menu_bar"
|
||||
style="?android:actionBarSplitStyle"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<org.mariotaku.menucomponent.widget.MenuBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<org.mariotaku.twidere.view.TwidereMenuBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/menu_bar"
|
||||
style="?android:actionBarSplitStyle"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<org.mariotaku.twidere.view.SquareRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="@dimen/element_spacing_extra_small">
|
||||
android:padding="@dimen/element_spacing_xsmall">
|
||||
|
||||
<org.mariotaku.twidere.view.ForegroundColorView
|
||||
android:id="@+id/color"
|
||||
|
@ -12,6 +12,6 @@
|
|||
android:layout_alignParentTop="true"
|
||||
android:background="?android:activatedBackgroundIndicator"
|
||||
android:foreground="?android:selectableItemBackground"
|
||||
android:padding="@dimen/element_spacing_extra_small"/>
|
||||
android:padding="@dimen/element_spacing_xsmall"/>
|
||||
|
||||
</org.mariotaku.twidere.view.SquareRelativeLayout>
|
|
@ -9,10 +9,10 @@
|
|||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_margin="@dimen/element_spacing_extra_small"
|
||||
android:layout_margin="@dimen/element_spacing_xsmall"
|
||||
android:background="?android:activatedBackgroundIndicator"
|
||||
android:foreground="?android:selectableItemBackground"
|
||||
android:padding="@dimen/element_spacing_extra_small"/>
|
||||
android:padding="@dimen/element_spacing_xsmall"/>
|
||||
<!--
|
||||
<org.mariotaku.twidere.view.ActivatedCheckBox
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/element_spacing_extra_small"
|
||||
android:layout_height="@dimen/element_spacing_xsmall"
|
||||
android:layout_above="@+id/profile_name_container"
|
||||
android:background="@drawable/shadow_top"/>
|
||||
<!--
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/list_header_title"
|
||||
style="?android:attr/listSeparatorTextViewStyle"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="2dip"
|
||||
android:paddingLeft="5dip"
|
||||
android:paddingTop="2dip"/>
|
||||
android:paddingBottom="@dimen/element_spacing_xsmall"
|
||||
android:paddingLeft="@dimen/element_spacing_small"
|
||||
android:paddingTop="@dimen/element_spacing_xsmall" />
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
android:layout_alignTop="@+id/status_content"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<org.mariotaku.menucomponent.widget.MenuBar
|
||||
<org.mariotaku.twidere.view.TwidereMenuBar
|
||||
android:id="@+id/actionbar_split"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?android:actionBarSize"
|
||||
|
|
Before Width: | Height: | Size: 172 B After Width: | Height: | Size: 172 B |
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
|
@ -2,7 +2,7 @@
|
|||
<resources>
|
||||
|
||||
<dimen name="element_size_default">48dp</dimen>
|
||||
<dimen name="element_spacing_extra_small">2dp</dimen>
|
||||
<dimen name="element_spacing_xsmall">2dp</dimen>
|
||||
<dimen name="element_spacing_small">4dp</dimen>
|
||||
<dimen name="element_spacing_normal">8dp</dimen>
|
||||
<dimen name="element_spacing_large">16dp</dimen>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<item name="solid_pressed_white_intercepted" type="drawable"/>
|
||||
<item name="solid_focused_white_intercepted" type="drawable"/>
|
||||
<item name="rect_focused_background_white_intercepted" type="drawable"/>
|
||||
<item name="solid_white_pressed" type="drawable"/>
|
||||
<item name="solid_white_focused" type="drawable"/>
|
||||
<item name="rect_white_focused_background" type="drawable"/>
|
||||
|
||||
</resources>
|
|
@ -39,11 +39,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_dark</item>
|
||||
<item name="cardItemBackgroundColor">#1a1a1a</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_dark</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_dark</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_dark</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_dark</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_dark
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView</item>
|
||||
</style>
|
||||
|
||||
|
@ -72,11 +81,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_light</item>
|
||||
<item name="cardItemBackgroundColor">#f8f8f8</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_light</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_light</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_light</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_light</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_light
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView.Light</item>
|
||||
</style>
|
||||
|
||||
|
@ -93,23 +111,35 @@
|
|||
<item name="android:windowBackground">@color/bg_color_light</item>
|
||||
|
||||
<!-- ActionBar styles -->
|
||||
<item name="android:actionBarStyle">@style/Widget.Twidere.ActionBar.Light.DarkActionBar</item>
|
||||
<item name="android:actionBarStyle">@style/Widget.Twidere.ActionBar.Light.DarkActionBar
|
||||
</item>
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.Twidere.Dark</item>
|
||||
|
||||
<!-- Custom view styles -->
|
||||
<item name="tabItemStyle">@style/Widget.TabPageIndicator.TabItem</item>
|
||||
<item name="tabItemContentStyle">@style/Widget.TabPageIndicator.TabItem.Content</item>
|
||||
<item name="tabItemTextStyle">@style/Widget.TabPageIndicator.TabItem.TextView.Light.DarkActionBar</item>
|
||||
<item name="tabItemTextStyle">
|
||||
@style/Widget.TabPageIndicator.TabItem.TextView.Light.DarkActionBar
|
||||
</item>
|
||||
<item name="staggeredGridViewStyle">@style/Widget.StaggeredGridView</item>
|
||||
|
||||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_light</item>
|
||||
<item name="cardItemBackgroundColor">#f8f8f8</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_light</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_light</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_light</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_light</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_light
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView.Light</item>
|
||||
</style>
|
||||
|
||||
|
@ -119,8 +149,9 @@
|
|||
|
||||
<!-- ActionBar styles -->
|
||||
<item name="android:actionBarStyle">@style/Widget.Twidere.ActionBar.Colored</item>
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.Twidere.ActionBar.Colored.Light</item>
|
||||
<!--<item name="android:actionBarItemBackground">@drawable/list_selector_light_white</item>-->
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.Twidere.ActionBar.Colored.Light
|
||||
</item>
|
||||
<item name="android:actionBarItemBackground">@drawable/list_selector_white_light</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Twidere.Colored.DarkActionBar" parent="Theme.Twidere.Light.DarkActionBar">
|
||||
|
@ -128,7 +159,7 @@
|
|||
<!-- ActionBar styles -->
|
||||
<item name="android:actionBarStyle">@style/Widget.Twidere.ActionBar.Colored.Inverse</item>
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.Twidere.ActionBar.Colored.Dark</item>
|
||||
<!--<item name="android:actionBarItemBackground">@drawable/list_selector_white</item>-->
|
||||
<item name="android:actionBarItemBackground">@drawable/list_selector_white</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Twidere.Colored.DarkActionBar.DarkIcon" />
|
||||
|
@ -225,12 +256,12 @@
|
|||
|
||||
<style name="Theme.Twidere.ActionBar.Colored.Light" parent="Theme.Twidere.Light">
|
||||
<item name="accentColor">@color/accent_white</item>
|
||||
<!--<item name="android:actionBarItemBackground">@drawable/list_selector_light_white</item>-->
|
||||
<item name="android:actionBarItemBackground">@drawable/list_selector_white_light</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Twidere.ActionBar.Colored.Dark" parent="Theme.Twidere.Dark">
|
||||
<item name="accentColor">@color/accent_white</item>
|
||||
<!--<item name="android:actionBarItemBackground">@drawable/list_selector_white</item>-->
|
||||
<item name="android:actionBarItemBackground">@drawable/list_selector_white</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Twidere.Dark.Dialog" parent="android:Theme.Holo.Dialog">
|
||||
|
@ -244,11 +275,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_dark</item>
|
||||
<item name="cardItemBackgroundColor">#1a1a1a</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_dark</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_dark</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_dark</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_dark</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_dark
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView</item>
|
||||
</style>
|
||||
|
||||
|
@ -263,11 +303,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_light</item>
|
||||
<item name="cardItemBackgroundColor">#f8f8f8</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_light</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_light</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_light</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_light</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_light
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView.Light</item>
|
||||
</style>
|
||||
|
||||
|
@ -353,11 +402,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_dark</item>
|
||||
<item name="cardItemBackgroundColor">#1a1a1a</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_dark</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_dark</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_dark</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_dark</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_dark
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView</item>
|
||||
</style>
|
||||
|
||||
|
@ -437,11 +495,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_dark</item>
|
||||
<item name="cardItemBackgroundColor">#1a1a1a</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_dark</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_dark</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_dark</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_dark</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_dark
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_dark
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_dark
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView</item>
|
||||
</style>
|
||||
|
||||
|
@ -462,11 +529,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_light</item>
|
||||
<item name="cardItemBackgroundColor">#f8f8f8</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_light</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_light</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_light</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_light</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_light
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView.Light</item>
|
||||
</style>
|
||||
|
||||
|
@ -487,11 +563,20 @@
|
|||
<!-- Card UI styles -->
|
||||
<item name="cardItemBackground">@drawable/bg_card_item_light</item>
|
||||
<item name="cardItemBackgroundColor">#f8f8f8</item>
|
||||
<item name="cardItemMessageIncomingBackground">@drawable/bg_card_item_message_incoming_light</item>
|
||||
<item name="cardItemMessageOutgoingBackground">@drawable/bg_card_item_message_outgoing_light</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">@drawable/bg_card_item_message_profile_image_incoming_light</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">@drawable/bg_card_item_message_profile_image_outgoing_light</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light</item>
|
||||
<item name="cardItemMessageIncomingBackground">
|
||||
@drawable/bg_card_item_message_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_outgoing_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageIncomingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_incoming_light
|
||||
</item>
|
||||
<item name="cardItemMessageProfileImageOutgoingBackground">
|
||||
@drawable/bg_card_item_message_profile_image_outgoing_light
|
||||
</item>
|
||||
<item name="listMenuOverflowButton">@drawable/ic_list_menu_moreoverflow_normal_holo_light
|
||||
</item>
|
||||
<item name="cardItemViewStyle">@style/Widget.CardItemView.Light</item>
|
||||
</style>
|
||||
|
||||
|
|
Loading…
Reference in New Issue