Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd5c63b5 authored by Mohit Mali's avatar Mohit Mali
Browse files

Change views color according to system accent color

parent 5c51c72c
Loading
Loading
Loading
Loading
+240 −233
Original line number Diff line number Diff line
@@ -32,7 +32,9 @@ import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.android.contacts.common.R;
import com.android.dialer.colorutil.ColorUtil;

/**
 * Lightweight implementation of ViewPager tabs. This looks similar to traditional actionBar tabs,
@@ -88,6 +90,8 @@ public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnP
        super(context, attrs, defStyle);
        setFillViewport(true);

        setBackgroundColor(ColorUtil.getAccentColor(context));

        mSidePadding = (int) (getResources().getDisplayMetrics().density * TAB_SIDE_PADDING_IN_DPS);

        final TypedArray a = context.obtainStyledAttributes(attrs, ATTRS);
@@ -262,7 +266,8 @@ public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnP
    }

    @Override
  public void onPageScrollStateChanged(int state) {}
    public void onPageScrollStateChanged(int state) {
    }

    private int getRtlPosition(int position) {
        if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
@@ -271,7 +276,9 @@ public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnP
        return position;
    }

  /** Simulates actionbar tab behavior by showing a toast with the tab title when long clicked. */
    /**
     * Simulates actionbar tab behavior by showing a toast with the tab title when long clicked.
     */
    private class OnTabLongClickListener implements OnLongClickListener {

        final int mPosition;
+1 −1
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@ public class CallLogActivity extends TransactionSafeActivity implements
        actionBar.setElevation(0);
        actionBar.setBackgroundDrawable(new ColorDrawable(ColorUtil.getAccentColor(this)));


        int startingTab = TAB_INDEX_ALL;
        final Intent intent = getIntent();
        if (intent != null) {
@@ -111,6 +110,7 @@ public class CallLogActivity extends TransactionSafeActivity implements
        viewPager.setOnPageChangeListener(this);

        viewPagerTabs = (ViewPagerTabs) findViewById(R.id.viewpager_header);
        viewPagerTabs.setBackground(new ColorDrawable(ColorUtil.getAccentColor(this)));

        viewPagerTabs.setViewPager(viewPager);
        viewPager.setCurrentItem(startingTab);
+0 −2
Original line number Diff line number Diff line
@@ -187,14 +187,12 @@

    <style name="CallLogActionSupportTextStyle" parent="@style/CallLogActionTextStyle">
        <item name="android:textSize">@dimen/call_log_detail_text_size</item>
        <item name="android:textColor">?android:textColorSecondary</item>
    </style>

    <style name="CallLogActionIconStyle">
        <item name="android:layout_width">@dimen/call_log_action_icon_dimen</item>
        <item name="android:layout_height">@dimen/call_log_action_icon_dimen</item>
        <item name="android:layout_marginStart">@dimen/call_log_action_icon_margin_start</item>
        <item name="android:tint">?android:textColorSecondary</item>
        <item name="android:importantForAccessibility">no</item>
    </style>

+161 −117
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@
package com.android.dialer.app.settings;

import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.support.v7.app.AppCompatDelegate;
@@ -24,6 +26,8 @@ import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;

import com.android.dialer.R;

/**
 * A {@link android.preference.PreferenceActivity} which implements and proxies the necessary calls
 * to be used with AppCompat.
@@ -36,6 +40,7 @@ public class AppCompatPreferenceActivity extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        switchTheme();
        getDelegate().installViewFactory();
        getDelegate().onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);
@@ -147,4 +152,43 @@ public class AppCompatPreferenceActivity extends PreferenceActivity {
    public boolean isSafeToCommitTransactions() {
        return isSafeToCommitTransactions;
    }

    private void switchTheme() {

        int accentColor = getAccentColor();

        if (accentColor == getResources().getColor(R.color.lineage_default_accent_color)) {
            setTheme(R.style.LineageDefaultAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_banana_accent_color)) {
            setTheme(R.style.LineageBananaAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_blueberry_accent_color)) {
            setTheme(R.style.LineageBlueberryAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_carbon_accent_color)) {
            setTheme(R.style.LineageCarbonAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_cherry_accent_color)) {
            setTheme(R.style.LineageCherryAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_cocoa_accent_color)) {
            setTheme(R.style.LineageCocoaAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_cyan_accent_color)) {
            setTheme(R.style.LineageCyanAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_forest_accent_color)) {
            setTheme(R.style.LineageForestAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_lavender_accent_color)) {
            setTheme(R.style.LineageLavenderAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_tomato_accent_color)) {
            setTheme(R.style.LineageTomatoAccentTheme);
        } else if (accentColor == getResources().getColor(R.color.lineage_pumpkin_accent_color)) {
            setTheme(R.style.LineagePumpkinAccentTheme);
        }
    }

    private int getAccentColor() {
        int[] attr = {android.R.attr.colorAccent};
        TypedArray typedArray = obtainStyledAttributes(android.R.style.Theme_DeviceDefault, attr);
        int color = typedArray.getColor(0, Color.BLACK);
        typedArray.recycle();
        return color;
    }


}