From b66debe1e577c5744dc3739efb13f5d3d94c6afa Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 15 Sep 2016 20:02:26 +0200 Subject: [PATCH] update day labels --- .../calendar/activities/MainActivity.java | 29 -------- .../calendar/fragments/MonthFragment.java | 67 +++++++++++++++++-- 2 files changed, 63 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java index 78b5c8b59..bfd9aff78 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java @@ -50,7 +50,6 @@ public class MainActivity extends SimpleActivity { private int mWeakTextColor; private int mTextColorWithEvent; private int mWeakTextColorWithEvent; - private boolean mSundayFirst; @Override protected void onCreate(Bundle savedInstanceState) { @@ -66,12 +65,10 @@ public class MainActivity extends SimpleActivity { mWeakTextColorWithEvent = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.LOW_ALPHA); //mLeftArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP); //mRightArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP); - mSundayFirst = mConfig.getIsSundayFirst(); mPackageName = getPackageName(); mDayTextSize /= mRes.getDisplayMetrics().density; mTodayTextSize /= mRes.getDisplayMetrics().density; - setupLabels(); final String today = new DateTime().toString(Formatter.DAYCODE_PATTERN); final List codes = getMonths(today); @@ -80,15 +77,6 @@ public class MainActivity extends SimpleActivity { mPager.setCurrentItem(codes.size() / 2); } - @Override - protected void onResume() { - super.onResume(); - if (mConfig.getIsSundayFirst() != mSundayFirst) { - mSundayFirst = mConfig.getIsSundayFirst(); - setupLabels(); - } - } - @Override protected void onDestroy() { super.onDestroy(); @@ -218,21 +206,4 @@ public class MainActivity extends SimpleActivity { dayPicker.setVisibility(View.GONE); } - private void setupLabels() { - int letters[] = Utils.getLetterIDs(); - - for (int i = 0; i < 7; i++) { - final TextView dayTV = (TextView) findViewById(mRes.getIdentifier("label_" + i, "id", mPackageName)); - if (dayTV != null) { - dayTV.setTextSize(mDayTextSize); - dayTV.setTextColor(mWeakTextColor); - - int index = i; - if (!mSundayFirst) - index = (index + 1) % letters.length; - - dayTV.setText(getString(letters[index])); - } - } - } } diff --git a/app/src/main/java/com/simplemobiletools/calendar/fragments/MonthFragment.java b/app/src/main/java/com/simplemobiletools/calendar/fragments/MonthFragment.java index 2fb5bffb6..1f95ed607 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/fragments/MonthFragment.java +++ b/app/src/main/java/com/simplemobiletools/calendar/fragments/MonthFragment.java @@ -1,5 +1,7 @@ package com.simplemobiletools.calendar.fragments; +import android.content.res.Resources; +import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; @@ -9,34 +11,91 @@ import android.widget.TextView; import com.simplemobiletools.calendar.Calendar; import com.simplemobiletools.calendar.CalendarImpl; +import com.simplemobiletools.calendar.Config; import com.simplemobiletools.calendar.Constants; import com.simplemobiletools.calendar.Formatter; import com.simplemobiletools.calendar.R; +import com.simplemobiletools.calendar.Utils; import com.simplemobiletools.calendar.models.Day; import java.util.List; +import butterknife.BindDimen; import butterknife.BindView; import butterknife.ButterKnife; public class MonthFragment extends Fragment implements Calendar { @BindView(R.id.top_text) TextView mMonthTV; + + @BindDimen(R.dimen.day_text_size) float mDayTextSize; + @BindDimen(R.dimen.today_text_size) float mTodayTextSize; + + private View mView; private CalendarImpl mCalendar; + private Resources mRes; + private String mPackageName; + private Config mConfig; + + private int mTextColor; + private int mWeakTextColor; + private int mTextColorWithEvent; + private int mWeakTextColorWithEvent; + private boolean mSundayFirst; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - final View view = inflater.inflate(R.layout.calendar_layout, container, false); - ButterKnife.bind(this, view); + mView = inflater.inflate(R.layout.calendar_layout, container, false); + ButterKnife.bind(this, mView); final String code = getArguments().getString(Constants.DAY_CODE); - mCalendar = new CalendarImpl(this, getActivity().getApplicationContext()); + mCalendar = new CalendarImpl(this, getContext()); mCalendar.updateCalendar(Formatter.getDateTimeFromCode(code)); + mConfig = Config.newInstance(getContext()); + mSundayFirst = mConfig.getIsSundayFirst(); - return view; + final int baseColor = mConfig.getIsDarkTheme() ? Color.WHITE : Color.BLACK; + mRes = getResources(); + mTextColor = Utils.adjustAlpha(baseColor, Constants.HIGH_ALPHA); + mTextColorWithEvent = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.HIGH_ALPHA); + mWeakTextColor = Utils.adjustAlpha(baseColor, Constants.LOW_ALPHA); + mWeakTextColorWithEvent = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.LOW_ALPHA); + + mPackageName = getActivity().getPackageName(); + mDayTextSize /= mRes.getDisplayMetrics().density; + setupLabels(); + + return mView; + } + + @Override + public void onResume() { + super.onResume(); + if (mConfig.getIsSundayFirst() != mSundayFirst) { + mSundayFirst = mConfig.getIsSundayFirst(); + setupLabels(); + } } @Override public void updateCalendar(String month, List days) { mMonthTV.setText(month); } + + private void setupLabels() { + int letters[] = Utils.getLetterIDs(); + + for (int i = 0; i < 7; i++) { + final TextView dayTV = (TextView) mView.findViewById(mRes.getIdentifier("label_" + i, "id", mPackageName)); + if (dayTV != null) { + dayTV.setTextSize(mDayTextSize); + dayTV.setTextColor(mWeakTextColor); + + int index = i; + if (!mSundayFirst) + index = (index + 1) % letters.length; + + dayTV.setText(getString(letters[index])); + } + } + } }