This commit is contained in:
Mariotaku Lee 2016-03-15 21:59:08 +08:00
parent f550740103
commit 7c8c73a152
5 changed files with 30 additions and 23 deletions

View File

@ -90,7 +90,6 @@ import org.mariotaku.twidere.util.KeyboardShortcutsHandler.KeyboardShortcutCallb
import org.mariotaku.twidere.util.MultiSelectEventHandler; import org.mariotaku.twidere.util.MultiSelectEventHandler;
import org.mariotaku.twidere.util.ReadStateManager; import org.mariotaku.twidere.util.ReadStateManager;
import org.mariotaku.twidere.util.ThemeUtils; import org.mariotaku.twidere.util.ThemeUtils;
import org.mariotaku.twidere.util.TwidereColorUtils;
import org.mariotaku.twidere.util.TwidereMathUtils; import org.mariotaku.twidere.util.TwidereMathUtils;
import org.mariotaku.twidere.util.Utils; import org.mariotaku.twidere.util.Utils;
import org.mariotaku.twidere.view.ExtendedFrameLayout; import org.mariotaku.twidere.view.ExtendedFrameLayout;
@ -166,10 +165,6 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen
return getSupportFragmentManager().findFragmentById(R.id.left_drawer); return getSupportFragmentManager().findFragmentById(R.id.left_drawer);
} }
public boolean getDefaultSystemWindowsInsets(Rect insets) {
return super.getSystemWindowsInsets(insets);
}
@Override @Override
public boolean getSystemWindowsInsets(Rect insets) { public boolean getSystemWindowsInsets(Rect insets) {
if (mTabIndicator == null || mHomeContent == null) return false; if (mTabIndicator == null || mHomeContent == null) return false;
@ -179,7 +174,6 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen
} else { } else {
insets.top = ThemeUtils.getActionBarHeight(this); insets.top = ThemeUtils.getActionBarHeight(this);
} }
insets.top += mHomeContent.getTop();
return true; return true;
} }
@ -366,7 +360,7 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen
if (top != oldTop) { if (top != oldTop) {
final Fragment fragment = getLeftDrawerFragment(); final Fragment fragment = getLeftDrawerFragment();
if (fragment instanceof AccountsDashboardFragment) { if (fragment instanceof AccountsDashboardFragment) {
((AccountsDashboardFragment) fragment).requestFitSystemWindows(); ((AccountsDashboardFragment) fragment).setStatusBarHeight(top);
} }
} }
} }
@ -733,19 +727,6 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen
final boolean isTransparent = ThemeUtils.isTransparentBackground(backgroundOption); final boolean isTransparent = ThemeUtils.isTransparentBackground(backgroundOption);
final int actionBarAlpha = isTransparent ? ThemeUtils.getActionBarAlpha(ThemeUtils.getUserThemeBackgroundAlpha(this)) : 0xFF; final int actionBarAlpha = isTransparent ? ThemeUtils.getActionBarAlpha(ThemeUtils.getUserThemeBackgroundAlpha(this)) : 0xFF;
mTabIndicator.setItemContext(ThemeUtils.getActionBarThemedContext(this, themeColor)); mTabIndicator.setItemContext(ThemeUtils.getActionBarThemedContext(this, themeColor));
final int[] foregroundColors = new int[2];
ThemeUtils.getColorForegroundAndInverse(this, foregroundColors);
if (ThemeUtils.isDarkTheme(this)) {
mTabIndicator.setStripColor(themeColor);
mTabIndicator.setIconColor(foregroundColors[0]);
mTabIndicator.setLabelColor(foregroundColors[0]);
} else {
final int contrastColor = TwidereColorUtils.getContrastYIQ(themeColor,
ThemeUtils.ACCENT_COLOR_THRESHOLD, foregroundColors[0], foregroundColors[1]);
mTabIndicator.setStripColor(contrastColor);
mTabIndicator.setIconColor(contrastColor);
mTabIndicator.setLabelColor(contrastColor);
}
mActionsButton.setAlpha(actionBarAlpha / 255f); mActionsButton.setAlpha(actionBarAlpha / 255f);
} }

View File

@ -61,6 +61,8 @@ import org.mariotaku.twidere.util.content.TwidereSQLiteOpenHelper;
import org.mariotaku.twidere.util.dagger.ApplicationModule; import org.mariotaku.twidere.util.dagger.ApplicationModule;
import org.mariotaku.twidere.util.dagger.DependencyHolder; import org.mariotaku.twidere.util.dagger.DependencyHolder;
import org.mariotaku.twidere.util.net.TwidereDns; import org.mariotaku.twidere.util.net.TwidereDns;
import org.mariotaku.twidere.util.theme.TabPagerIndicatorViewProcessor;
import org.mariotaku.twidere.view.TabPagerIndicator;
public class TwidereApplication extends Application implements Constants, public class TwidereApplication extends Application implements Constants,
OnSharedPreferenceChangeListener { OnSharedPreferenceChangeListener {
@ -118,6 +120,7 @@ public class TwidereApplication extends Application implements Constants,
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
StrictModeUtils.detectAllVmPolicy(); StrictModeUtils.detectAllVmPolicy();
} }
ATE.registerViewProcessor(TabPagerIndicator.class, new TabPagerIndicatorViewProcessor());
if (!ATE.config(this, null).isConfigured()) { if (!ATE.config(this, null).isConfigured()) {
final int accentColor = ThemeUtils.getUserAccentColor(this); final int accentColor = ThemeUtils.getUserAccentColor(this);
ATE.config(this, null).primaryColor(accentColor).accentColor(accentColor).commit(); ATE.config(this, null).primaryColor(accentColor).accentColor(accentColor).commit();

View File

@ -37,6 +37,7 @@ import android.widget.TextView;
import org.mariotaku.twidere.R; import org.mariotaku.twidere.R;
import org.mariotaku.twidere.activity.iface.IControlBarActivity; import org.mariotaku.twidere.activity.iface.IControlBarActivity;
import org.mariotaku.twidere.activity.iface.IControlBarActivity.ControlBarShowHideHelper;
import org.mariotaku.twidere.adapter.LoadMoreSupportAdapter; import org.mariotaku.twidere.adapter.LoadMoreSupportAdapter;
import org.mariotaku.twidere.adapter.iface.ILoadMoreSupportAdapter.IndicatorPosition; import org.mariotaku.twidere.adapter.iface.ILoadMoreSupportAdapter.IndicatorPosition;
import org.mariotaku.twidere.fragment.iface.RefreshScrollTopInterface; import org.mariotaku.twidere.fragment.iface.RefreshScrollTopInterface;
@ -56,7 +57,7 @@ import org.mariotaku.twidere.view.themed.AccentSwipeRefreshLayout;
public abstract class AbsContentRecyclerViewFragment<A extends LoadMoreSupportAdapter, L extends RecyclerView.LayoutManager> public abstract class AbsContentRecyclerViewFragment<A extends LoadMoreSupportAdapter, L extends RecyclerView.LayoutManager>
extends BaseSupportFragment implements SwipeRefreshLayout.OnRefreshListener, extends BaseSupportFragment implements SwipeRefreshLayout.OnRefreshListener,
HeaderDrawerLayout.DrawerCallback, RefreshScrollTopInterface, IControlBarActivity.ControlBarOffsetListener, HeaderDrawerLayout.DrawerCallback, RefreshScrollTopInterface, IControlBarActivity.ControlBarOffsetListener,
ContentScrollHandler.ContentListSupport, IControlBarActivity.ControlBarShowHideHelper.ControlBarAnimationListener { ContentScrollHandler.ContentListSupport, ControlBarShowHideHelper.ControlBarAnimationListener {
private View mProgressContainer; private View mProgressContainer;
private SwipeRefreshLayout mSwipeRefreshLayout; private SwipeRefreshLayout mSwipeRefreshLayout;

View File

@ -308,8 +308,6 @@ public class AccountsDashboardFragment extends BaseSupportFragment implements Lo
private void updateSystemWindowsInsets() { private void updateSystemWindowsInsets() {
if (mAccountProfileContainer == null) return; if (mAccountProfileContainer == null) return;
final Rect insets = mSystemWindowsInsets; final Rect insets = mSystemWindowsInsets;
final int top = Utils.getInsetsTopWithoutActionBarHeight(getActivity(), insets.top);
mAccountProfileContainer.setPadding(0, top, 0, 0);
} }
@Override @Override
@ -691,6 +689,11 @@ public class AccountsDashboardFragment extends BaseSupportFragment implements Lo
return false; return false;
} }
public void setStatusBarHeight(int height) {
final int top = Utils.getInsetsTopWithoutActionBarHeight(getActivity(), height);
mAccountProfileContainer.setPadding(0, top, 0, 0);
}
static class AccountProfileImageViewHolder extends ViewHolder implements OnClickListener { static class AccountProfileImageViewHolder extends ViewHolder implements OnClickListener {
private final AccountSelectorAdapter adapter; private final AccountSelectorAdapter adapter;

View File

@ -0,0 +1,19 @@
package org.mariotaku.twidere.util.theme;
import android.content.Context;
import android.support.annotation.NonNull;
import com.afollestad.appthemeengine.Config;
import com.afollestad.appthemeengine.viewprocessors.ViewProcessor;
import org.mariotaku.twidere.view.TabPagerIndicator;
/**
* Created by mariotaku on 16/3/15.
*/
public class TabPagerIndicatorViewProcessor implements ViewProcessor<TabPagerIndicator, Object> {
@Override
public void process(@NonNull Context context, String key, TabPagerIndicator view, Object extra) {
}
}