diff --git a/app/build.gradle b/app/build.gradle index dd588569f..efd7bc4d7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,6 +30,7 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' + compile 'com.android.support:design:23.4.0' compile 'joda-time:joda-time:2.9.1' compile 'com.jakewharton:butterknife:8.0.1' compile 'com.github.yukuku:ambilwarna:2.0.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8a556b68f..1fbe6805d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -33,6 +33,11 @@ android:label="@string/about" android:screenOrientation="portrait"/> + + iter = json.keys(); + while (iter.hasNext()) { + String key = iter.next(); + Boolean value = (Boolean) json.get(key); + sparseBooleanArray.put(Integer.parseInt(key), value); + } + } catch (JSONException e) { + Log.e(TAG, "deserializeJson " + e.getMessage()); + } + return sparseBooleanArray; + } +} diff --git a/app/src/main/java/com/simplemobiletools/calendar/activities/DetailsActivity.java b/app/src/main/java/com/simplemobiletools/calendar/activities/DetailsActivity.java new file mode 100644 index 000000000..acfe956e3 --- /dev/null +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/DetailsActivity.java @@ -0,0 +1,42 @@ +package com.simplemobiletools.calendar.activities; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.TextView; + +import com.simplemobiletools.calendar.Constants; +import com.simplemobiletools.calendar.Formatter; +import com.simplemobiletools.calendar.R; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; + +public class DetailsActivity extends AppCompatActivity { + @BindView(R.id.details_date) TextView mDateTV; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_details); + ButterKnife.bind(this); + + final Intent intent = getIntent(); + if (intent == null) + return; + + final String dayCode = intent.getStringExtra(Constants.DAY_CODE); + if (dayCode == null || dayCode.isEmpty()) + return; + + final String date = Formatter.getEventDate(dayCode); + mDateTV.setText(date); + } + + @OnClick(R.id.details_fab) + public void fabClicked(View view) { + + } +} 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 97c940315..c2b5983db 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/MainActivity.java @@ -21,9 +21,9 @@ import com.simplemobiletools.calendar.Calendar; import com.simplemobiletools.calendar.CalendarImpl; import com.simplemobiletools.calendar.Config; import com.simplemobiletools.calendar.Constants; -import com.simplemobiletools.calendar.Day; -import com.simplemobiletools.calendar.Helpers; import com.simplemobiletools.calendar.R; +import com.simplemobiletools.calendar.Utils; +import com.simplemobiletools.calendar.models.Day; import org.joda.time.DateTime; @@ -51,6 +51,8 @@ public class MainActivity extends AppCompatActivity implements Calendar { private int mTextColor; private int mWeakTextColor; + private int mTextColorWithNote; + private int mWeakTextColorWithNote; @Override protected void onCreate(Bundle savedInstanceState) { @@ -58,13 +60,15 @@ public class MainActivity extends AppCompatActivity implements Calendar { setContentView(R.layout.activity_main); ButterKnife.bind(this); + mRes = getResources(); Locale.setDefault(Locale.ENGLISH); - mTextColor = Helpers.adjustAlpha(Color.BLACK, Constants.HIGH_ALPHA); - mWeakTextColor = Helpers.adjustAlpha(Color.BLACK, Constants.LOW_ALPHA); + mTextColor = Utils.adjustAlpha(Color.BLACK, Constants.HIGH_ALPHA); + mTextColorWithNote = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.HIGH_ALPHA); + mWeakTextColor = Utils.adjustAlpha(Color.BLACK, Constants.LOW_ALPHA); + mWeakTextColorWithNote = 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); - mRes = getResources(); mPackageName = getPackageName(); mDayTextSize /= mRes.getDisplayMetrics().density; mTodayTextSize /= mRes.getDisplayMetrics().density; @@ -73,7 +77,7 @@ public class MainActivity extends AppCompatActivity implements Calendar { final FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mCalendarHolder.getLayoutParams(); params.setMargins(mActivityMargin, mActivityMargin, mActivityMargin, mActivityMargin); - mCalendar = new CalendarImpl(this); + mCalendar = new CalendarImpl(this, getApplicationContext()); mCalendar.updateCalendar(new DateTime()); } @@ -107,6 +111,9 @@ public class MainActivity extends AppCompatActivity implements Calendar { for (int i = 0; i < len; i++) { final Day day = days.get(i); final TextView dayTV = (TextView) findViewById(mRes.getIdentifier("day_" + i, "id", mPackageName)); + if (dayTV == null) + continue; + int curTextColor = mWeakTextColor; float curTextSize = mDayTextSize; @@ -121,9 +128,25 @@ public class MainActivity extends AppCompatActivity implements Calendar { dayTV.setText(String.valueOf(day.getValue())); dayTV.setTextColor(curTextColor); dayTV.setTextSize(curTextSize); + + dayTV.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + openDetails(day.getCode()); + } + }); } } + private void openDetails(String code) { + if (code.isEmpty()) + return; + + final Intent intent = new Intent(getApplicationContext(), DetailsActivity.class); + intent.putExtra(Constants.DAY_CODE, code); + startActivity(intent); + } + @OnClick(R.id.left_arrow) public void leftArrowClicked() { mCalendar.getPrevMonth(); diff --git a/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java b/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java index b2e41c960..2762d0a27 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java @@ -18,8 +18,8 @@ import android.widget.TextView; import com.simplemobiletools.calendar.Calendar; import com.simplemobiletools.calendar.CalendarImpl; import com.simplemobiletools.calendar.Constants; -import com.simplemobiletools.calendar.Day; -import com.simplemobiletools.calendar.Helpers; +import com.simplemobiletools.calendar.models.Day; +import com.simplemobiletools.calendar.Utils; import com.simplemobiletools.calendar.MyWidgetProvider; import com.simplemobiletools.calendar.R; @@ -99,7 +99,7 @@ public class WidgetConfigureActivity extends AppCompatActivity implements Calend mBgSeekBar.setProgress((int) (mBgAlpha * 100)); updateBgColor(); - mCalendar = new CalendarImpl(this); + mCalendar = new CalendarImpl(this, getApplicationContext()); mCalendar.updateCalendar(new DateTime()); } @@ -166,8 +166,8 @@ public class WidgetConfigureActivity extends AppCompatActivity implements Calend } private void updateTextColors() { - mTextColor = Helpers.adjustAlpha(mTextColorWithoutTransparency, Constants.HIGH_ALPHA); - mWeakTextColor = Helpers.adjustAlpha(mTextColorWithoutTransparency, Constants.LOW_ALPHA); + mTextColor = Utils.adjustAlpha(mTextColorWithoutTransparency, Constants.HIGH_ALPHA); + mWeakTextColor = Utils.adjustAlpha(mTextColorWithoutTransparency, Constants.LOW_ALPHA); mLeftArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP); mRightArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP); @@ -178,7 +178,7 @@ public class WidgetConfigureActivity extends AppCompatActivity implements Calend } private void updateBgColor() { - mBgColor = Helpers.adjustAlpha(mBgColorWithoutTransparency, mBgAlpha); + mBgColor = Utils.adjustAlpha(mBgColorWithoutTransparency, mBgAlpha); mWidgetBackground.setBackgroundColor(mBgColor); mBgColorPicker.setBackgroundColor(mBgColor); mSaveBtn.setBackgroundColor(mBgColor); diff --git a/app/src/main/java/com/simplemobiletools/calendar/models/Day.java b/app/src/main/java/com/simplemobiletools/calendar/models/Day.java index be6557a4d..6989cd193 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/models/Day.java +++ b/app/src/main/java/com/simplemobiletools/calendar/models/Day.java @@ -5,9 +5,9 @@ public class Day { private final boolean mIsThisMonth; private final boolean mIsToday; private final boolean mHasNote; - private final int mCode; + private final String mCode; - public Day(int value, boolean isThisMonth, boolean isToday, int code, boolean hasNote) { + public Day(int value, boolean isThisMonth, boolean isToday, String code, boolean hasNote) { mValue = value; mIsThisMonth = isThisMonth; mIsToday = isToday; @@ -27,7 +27,7 @@ public class Day { return mIsToday; } - public int getCode() { + public String getCode() { return mCode; } diff --git a/app/src/main/res/layout/activity_details.xml b/app/src/main/res/layout/activity_details.xml new file mode 100644 index 000000000..14b76f248 --- /dev/null +++ b/app/src/main/res/layout/activity_details.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/plus.png b/app/src/main/res/mipmap-hdpi/plus.png new file mode 100644 index 000000000..76f27e6ed Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/plus.png differ diff --git a/app/src/main/res/mipmap-mdpi/plus.png b/app/src/main/res/mipmap-mdpi/plus.png new file mode 100644 index 000000000..193383a11 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/plus.png differ diff --git a/app/src/main/res/mipmap-xhdpi/plus.png b/app/src/main/res/mipmap-xhdpi/plus.png new file mode 100644 index 000000000..d8ef0f451 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/plus.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/plus.png b/app/src/main/res/mipmap-xxhdpi/plus.png new file mode 100644 index 000000000..b97c0e28a Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/plus.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/plus.png b/app/src/main/res/mipmap-xxxhdpi/plus.png new file mode 100644 index 000000000..2bef05958 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/plus.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6784eb80..0d411a63d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,9 @@ Simple Calendar + + Details + About More simple apps and source code at:\nhttp://simplemobiletools.com