mirror of
https://github.com/TwidereProject/Twidere-Android
synced 2025-02-07 15:28:51 +01:00
improved hide/show card actions
This commit is contained in:
parent
8d61df7bf6
commit
bcaa7affd1
@ -97,4 +97,11 @@ public abstract class BaseRecyclerViewAdapter<VH extends RecyclerView.ViewHolder
|
|||||||
public final BidiFormatter getBidiFormatter() {
|
public final BidiFormatter getBidiFormatter() {
|
||||||
return mBidiFormatter;
|
return mBidiFormatter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int findPositionByItemId(long itemId) {
|
||||||
|
for (int i = 0, j = getItemCount(); i < j; i++) {
|
||||||
|
if (getItemId(i) == itemId) return i;
|
||||||
|
}
|
||||||
|
return RecyclerView.NO_POSITION;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ public abstract class ParcelableStatusesAdapter extends LoadMoreSupportAdapter<R
|
|||||||
private boolean mShowInReplyTo;
|
private boolean mShowInReplyTo;
|
||||||
private boolean mShowAccountsColor;
|
private boolean mShowAccountsColor;
|
||||||
private List<ParcelableStatus> mData;
|
private List<ParcelableStatus> mData;
|
||||||
private int mShowingActionCardPosition = RecyclerView.NO_POSITION;
|
private long mShowingActionCardId = RecyclerView.NO_ID;
|
||||||
private boolean mLastItemFiltered;
|
private boolean mLastItemFiltered;
|
||||||
|
|
||||||
public ParcelableStatusesAdapter(Context context, boolean compact) {
|
public ParcelableStatusesAdapter(Context context, boolean compact) {
|
||||||
@ -302,15 +302,19 @@ public abstract class ParcelableStatusesAdapter extends LoadMoreSupportAdapter<R
|
|||||||
@Override
|
@Override
|
||||||
public boolean isCardActionsShown(int position) {
|
public boolean isCardActionsShown(int position) {
|
||||||
if (position == RecyclerView.NO_POSITION) return mShowCardActions;
|
if (position == RecyclerView.NO_POSITION) return mShowCardActions;
|
||||||
return mShowCardActions || mShowingActionCardPosition == position;
|
return mShowCardActions || mShowingActionCardId == getItemId(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showCardActions(int position) {
|
public void showCardActions(int position) {
|
||||||
if (mShowingActionCardPosition != RecyclerView.NO_POSITION) {
|
if (mShowingActionCardId != RecyclerView.NO_ID) {
|
||||||
notifyItemChanged(mShowingActionCardPosition);
|
final int pos = findPositionByItemId(mShowingActionCardId);
|
||||||
|
if (pos != RecyclerView.NO_POSITION) {
|
||||||
|
notifyItemChanged(pos);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
mShowingActionCardPosition = position;
|
mShowingActionCardId = getItemId(position);
|
||||||
if (position != RecyclerView.NO_POSITION) {
|
if (position != RecyclerView.NO_POSITION) {
|
||||||
notifyItemChanged(position);
|
notifyItemChanged(position);
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,6 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import com.afollestad.appthemeengine.ATEActivity;
|
import com.afollestad.appthemeengine.ATEActivity;
|
||||||
import com.afollestad.appthemeengine.Config;
|
import com.afollestad.appthemeengine.Config;
|
||||||
import com.afollestad.appthemeengine.util.ATEUtil;
|
|
||||||
import com.squareup.otto.Subscribe;
|
import com.squareup.otto.Subscribe;
|
||||||
|
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@ -1482,7 +1481,7 @@ public class UserFragment extends BaseSupportFragment implements OnClickListener
|
|||||||
final BaseActivity activity = (BaseActivity) getActivity();
|
final BaseActivity activity = (BaseActivity) getActivity();
|
||||||
if (Config.coloredActionBar(activity, activity.getATEKey())) {
|
if (Config.coloredActionBar(activity, activity.getATEKey())) {
|
||||||
mPrimaryColor = color;
|
mPrimaryColor = color;
|
||||||
mPrimaryColorDark = ATEUtil.darkenColor(color);
|
mPrimaryColorDark = ThemeUtils.computeDarkColor(color);
|
||||||
} else {
|
} else {
|
||||||
mPrimaryColor = Config.primaryColor(activity, activity.getATEKey());
|
mPrimaryColor = Config.primaryColor(activity, activity.getATEKey());
|
||||||
mPrimaryColorDark = Color.BLACK;
|
mPrimaryColorDark = Color.BLACK;
|
||||||
@ -1574,7 +1573,7 @@ public class UserFragment extends BaseSupportFragment implements OnClickListener
|
|||||||
|
|
||||||
|
|
||||||
final int statusBarColor = (int) sArgbEvaluator.evaluate(factor, 0xA0000000,
|
final int statusBarColor = (int) sArgbEvaluator.evaluate(factor, 0xA0000000,
|
||||||
ATEUtil.darkenColor(mPrimaryColorDark));
|
ThemeUtils.computeDarkColor(mPrimaryColorDark));
|
||||||
final Window window = activity.getWindow();
|
final Window window = activity.getWindow();
|
||||||
mTintedStatusFrameLayout.setStatusBarColor(statusBarColor);
|
mTintedStatusFrameLayout.setStatusBarColor(statusBarColor);
|
||||||
ThemeUtils.setLightStatusBar(window, ThemeUtils.isLightColor(statusBarColor));
|
ThemeUtils.setLightStatusBar(window, ThemeUtils.isLightColor(statusBarColor));
|
||||||
|
@ -216,6 +216,7 @@ public class IntentUtils implements Constants {
|
|||||||
|
|
||||||
final ComponentName componentName = intent.resolveActivity(context.getPackageManager());
|
final ComponentName componentName = intent.resolveActivity(context.getPackageManager());
|
||||||
if (componentName == null || componentName.getClassName() == null) return null;
|
if (componentName == null || componentName.getClassName() == null) return null;
|
||||||
|
if (TextUtils.equals("android", componentName.getPackageName())) return null;
|
||||||
return componentName.getPackageName();
|
return componentName.getPackageName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ import android.view.WindowManager;
|
|||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
import com.afollestad.appthemeengine.Config;
|
import com.afollestad.appthemeengine.Config;
|
||||||
|
import com.afollestad.appthemeengine.util.ATEUtil;
|
||||||
|
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.mariotaku.twidere.Constants;
|
import org.mariotaku.twidere.Constants;
|
||||||
@ -626,4 +627,8 @@ public class ThemeUtils implements Constants {
|
|||||||
return getOptimalAccentColor(themeColor, getContrastColor(themeColor, Color.BLACK,
|
return getOptimalAccentColor(themeColor, getContrastColor(themeColor, Color.BLACK,
|
||||||
Color.WHITE));
|
Color.WHITE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int computeDarkColor(int color) {
|
||||||
|
return ATEUtil.darkenColor(color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user