diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayEditor.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayEditor.java index 9c3eb31..2f108bb 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayEditor.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayEditor.java @@ -53,6 +53,9 @@ protected void onCreate(Bundle savedInstanceState) { this.name = (TextView) findViewById(R.id.editor_name); this.list = (ListView) findViewById(R.id.editor_list); + name.setTextColor(getResources().getColor(R.color.white)); + + // check if contact id is valid this.db = new Database(getContentResolver()); int contactId = getIntent().getIntExtra(CONTACT_ID, NO_CONTACT_ID); diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayReminder.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayReminder.java index 1550f26..425eba3 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayReminder.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/BirthdayReminder.java @@ -7,6 +7,7 @@ import android.app.NotificationManager; import android.content.Intent; import android.content.pm.PackageManager; +import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.util.Log; @@ -52,7 +53,6 @@ public class BirthdayReminder extends ListActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); createNotificationChannel(); - getListView().setFastScrollEnabled(true); @@ -111,6 +111,7 @@ protected void onResume() { @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PERMISSIONS_REQUEST_READ_CONTACTS) { if (isContactsPermissionGranted()) { updateView(); @@ -122,17 +123,19 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in private void updateView() { // create new list adapter - Log.d("updateView", "true"); - MultiListAdapter listAdapter = new MultiListAdapter(); + MultiListAdapter listAdapter = new MultiListAdapter(); List adapterList = listAdapter.getListAdapters(); + + // load birthday and contact information List contacts = this.db.getAllContacts(); List birthContacts = BirthContactHelper.createBirthContactList(contacts); // group all contacts by known and unknown birthday SortedSet knownBirthdays = new TreeSet(new BirthContactBirthdayComparator()); + SortedSet unknownBirthdays = new TreeSet(new BirthContactNameComparator()); for (BirthContact birthContact : birthContacts) { @@ -156,22 +159,28 @@ private void updateView() { currentBirthContactAdapter = new BirthContactAdapter(this); adapterList.add(new CategoryAdapter(this, monthStrs[currentMonth])); + + adapterList.add(currentBirthContactAdapter); } currentBirthContactAdapter.add(birthContact); + + } adapterList.add(new CategoryAdapter(this, getResources().getString(R.string.unknownBirthdays))); + adapterList.add(new BirthContactAdapter(this, unknownBirthdays)); + setListAdapter(listAdapter); } + @SuppressLint("ResourceAsColor") @Override protected void onListItemClick(ListView l, View v, int position, long id) { BirthContact birthContact = (BirthContact) l.getAdapter().getItem(position); - Intent editorIntent = new Intent(this, BirthdayEditor.class); editorIntent.putExtra(BirthdayEditor.CONTACT_ID, birthContact.getContact().getId()); startActivity(editorIntent); @@ -201,4 +210,5 @@ public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } + } diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/PreferenceWindow.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/PreferenceWindow.java index 69ff149..07ae39f 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/PreferenceWindow.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/PreferenceWindow.java @@ -4,6 +4,9 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.preference.PreferenceActivity; + +import androidx.preference.Preference; + import de.ubuntix.android.birthdayreminder.database.Preferences; import de.ubuntix.android.birthdayreminder.service.BirthdayBroadcastReceiver; @@ -19,6 +22,7 @@ public class PreferenceWindow extends PreferenceActivity implements OnSharedPref protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); + } @Override diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/service/BirthdayBroadcastReceiver.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/service/BirthdayBroadcastReceiver.java index f14106d..6efb28f 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/service/BirthdayBroadcastReceiver.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/service/BirthdayBroadcastReceiver.java @@ -161,7 +161,7 @@ private void notifyBirthdays(Context context) { builder.setWhen(System.currentTimeMillis()); builder.setContentTitle(titleText); builder.setColorized(true); - builder.setColor(res.getColor(R.color.br_blue_notification)); + builder.setColor(res.getColor(R.color.blue)); builder.setCategory(Notification.CATEGORY_REMINDER); builder.setPriority(Notification.PRIORITY_HIGH); builder.setVisibility(Notification.VISIBILITY_PUBLIC); diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/CategoryAdapter.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/CategoryAdapter.java index e298495..eb2b2b8 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/CategoryAdapter.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/CategoryAdapter.java @@ -1,5 +1,8 @@ package de.ubuntix.android.birthdayreminder.view.adapter; + + +import android.annotation.SuppressLint; import android.content.Context; import android.view.LayoutInflater; import android.view.View; @@ -7,6 +10,8 @@ import android.widget.BaseAdapter; import android.widget.TextView; +import de.ubuntix.android.birthdayreminder.R; + public class CategoryAdapter extends BaseAdapter { private final String name; @@ -36,6 +41,7 @@ public long getItemId(int position) { return position; } + @SuppressLint("ResourceAsColor") @Override public View getView(int position, View convertView, ViewGroup parent) { TextView categoryView; @@ -44,7 +50,6 @@ public View getView(int position, View convertView, ViewGroup parent) { } else { categoryView = (TextView) convertView; } - categoryView.setText(this.name); return categoryView; } diff --git a/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/MultiListAdapter.java b/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/MultiListAdapter.java index a376f1b..9017abb 100644 --- a/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/MultiListAdapter.java +++ b/app/src/main/java/de/ubuntix/android/birthdayreminder/view/adapter/MultiListAdapter.java @@ -2,12 +2,15 @@ import java.util.ArrayList; import java.util.List; +import java.util.SortedSet; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListAdapter; +import de.ubuntix.android.birthdayreminder.view.helper.BirthContact; + public class MultiListAdapter extends BaseAdapter { private final List listAdapters = new ArrayList(); @@ -47,6 +50,7 @@ public View getView(int position, View convertView, ViewGroup parent) { int positionOffset = 0; for (ListAdapter listAdapter : this.listAdapters) { if (position - positionOffset < listAdapter.getCount()) { + return listAdapter.getView(position - positionOffset, convertView, parent); } positionOffset += listAdapter.getCount(); diff --git a/app/src/main/res/layout/birth_contact.xml b/app/src/main/res/layout/birth_contact.xml index d125c85..a2edb26 100644 --- a/app/src/main/res/layout/birth_contact.xml +++ b/app/src/main/res/layout/birth_contact.xml @@ -1,20 +1,22 @@ - android:orientation="vertical" - android:padding="5dp"> + - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/editor.xml b/app/src/main/res/layout/editor.xml index 2a3d302..ee9bebb 100644 --- a/app/src/main/res/layout/editor.xml +++ b/app/src/main/res/layout/editor.xml @@ -2,8 +2,9 @@ + android:background="@color/black" + android:orientation="vertical" + android:gravity="end"> diff --git a/app/src/main/res/layout/editor_account.xml b/app/src/main/res/layout/editor_account.xml index ca2b593..f9391f0 100644 --- a/app/src/main/res/layout/editor_account.xml +++ b/app/src/main/res/layout/editor_account.xml @@ -2,7 +2,7 @@ @@ -23,10 +24,12 @@ android:id="@+id/editor_type" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:textColor="@color/grey" android:textAppearance="?android:attr/textAppearanceMedium" /> @@ -35,7 +38,7 @@