Add launcher icon color preference

pull/513/head
Alex Baker 8 years ago
parent 7a58deeb3f
commit 31692462d9

@ -86,11 +86,11 @@
<application <application
android:allowBackup="true" android:allowBackup="true"
android:fullBackupContent="@xml/backup_config" android:fullBackupContent="@xml/backup_config"
android:icon="@mipmap/ic_launcher_round" android:icon="@mipmap/ic_launcher_blue"
android:label="@string/app_name" android:label="@string/app_name"
android:manageSpaceActivity="com.todoroo.astrid.core.OldTaskPreferences" android:manageSpaceActivity="com.todoroo.astrid.core.OldTaskPreferences"
android:name=".Tasks" android:name=".Tasks"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_blue"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Tasks" android:theme="@style/Tasks"
tools:ignore="GoogleAppIndexingWarning"> tools:ignore="GoogleAppIndexingWarning">
@ -132,20 +132,6 @@
android:name=".sync.SynchronizationPreferences" android:name=".sync.SynchronizationPreferences"
android:theme="@style/Tasks"/> android:theme="@style/Tasks"/>
<!-- Activity that displays task list -->
<activity
android:launchMode="singleTask"
android:name="com.todoroo.astrid.activity.TaskListActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name="com.todoroo.astrid.activity.TaskEditActivity"> <activity android:name="com.todoroo.astrid.activity.TaskEditActivity">
<intent-filter tools:ignore="AppLinkUrlError"> <intent-filter tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW"/> <action android:name="android.intent.action.VIEW"/>
@ -466,7 +452,7 @@
<activity <activity
android:enabled="true" android:enabled="true"
android:exported="true" android:exported="true"
android:icon="@mipmap/ic_launcher_round" android:icon="@mipmap/ic_launcher_blue"
android:label="@string/tasker_create_task" android:label="@string/tasker_create_task"
android:name=".locale.ui.activity.TaskerCreateTaskActivity" android:name=".locale.ui.activity.TaskerCreateTaskActivity"
android:theme="@style/Tasks" android:theme="@style/Tasks"
@ -493,7 +479,7 @@
<activity-alias <activity-alias
android:enabled="true" android:enabled="true"
android:exported="true" android:exported="true"
android:icon="@mipmap/ic_launcher_round" android:icon="@mipmap/ic_launcher_blue"
android:label="@string/tasker_list_notification" android:label="@string/tasker_list_notification"
android:name="com.twofortyfouram.locale.example.setting.toast.ui.activity.PluginActivity" android:name="com.twofortyfouram.locale.example.setting.toast.ui.activity.PluginActivity"
android:targetActivity=".locale.ui.activity.TaskerSettingsActivity" android:targetActivity=".locale.ui.activity.TaskerSettingsActivity"
@ -513,6 +499,257 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<activity
android:launchMode="singleTask"
android:name="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
<!-- launcher icons -->
<activity-alias
android:enabled="true"
android:icon="@mipmap/ic_launcher_blue"
android:name="com.todoroo.astrid.activity.TaskListActivity"
android:roundIcon="@mipmap/ic_launcher_blue"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_blue_grey"
android:name="com.todoroo.astrid.activity.TaskListActivity.BlueGrey"
android:roundIcon="@mipmap/ic_launcher_blue_grey"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_dark_grey"
android:name="com.todoroo.astrid.activity.TaskListActivity.DarkGrey"
android:roundIcon="@mipmap/ic_launcher_dark_grey"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_red"
android:name="com.todoroo.astrid.activity.TaskListActivity.Red"
android:roundIcon="@mipmap/ic_launcher_red"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_pink"
android:name="com.todoroo.astrid.activity.TaskListActivity.Pink"
android:roundIcon="@mipmap/ic_launcher_pink"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_purple"
android:name="com.todoroo.astrid.activity.TaskListActivity.Purple"
android:roundIcon="@mipmap/ic_launcher_purple"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_deep_purple"
android:name="com.todoroo.astrid.activity.TaskListActivity.DeepPurple"
android:roundIcon="@mipmap/ic_launcher_deep_purple"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_indigo"
android:name="com.todoroo.astrid.activity.TaskListActivity.Indigo"
android:roundIcon="@mipmap/ic_launcher_indigo"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_light_blue"
android:name="com.todoroo.astrid.activity.TaskListActivity.LightBlue"
android:roundIcon="@mipmap/ic_launcher_light_blue"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_cyan"
android:name="com.todoroo.astrid.activity.TaskListActivity.Cyan"
android:roundIcon="@mipmap/ic_launcher_cyan"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_teal"
android:name="com.todoroo.astrid.activity.TaskListActivity.Teal"
android:roundIcon="@mipmap/ic_launcher_teal"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_green"
android:name="com.todoroo.astrid.activity.TaskListActivity.Green"
android:roundIcon="@mipmap/ic_launcher_green"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_light_green"
android:name="com.todoroo.astrid.activity.TaskListActivity.LightGreen"
android:roundIcon="@mipmap/ic_launcher_light_green"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_lime"
android:name="com.todoroo.astrid.activity.TaskListActivity.Lime"
android:roundIcon="@mipmap/ic_launcher_lime"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_yellow"
android:name="com.todoroo.astrid.activity.TaskListActivity.Yellow"
android:roundIcon="@mipmap/ic_launcher_yellow"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_amber"
android:name="com.todoroo.astrid.activity.TaskListActivity.Amber"
android:roundIcon="@mipmap/ic_launcher_amber"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_orange"
android:name="com.todoroo.astrid.activity.TaskListActivity.Orange"
android:roundIcon="@mipmap/ic_launcher_orange"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_deep_orange"
android:name="com.todoroo.astrid.activity.TaskListActivity.DeepOrange"
android:roundIcon="@mipmap/ic_launcher_deep_orange"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_brown"
android:name="com.todoroo.astrid.activity.TaskListActivity.Brown"
android:roundIcon="@mipmap/ic_launcher_brown"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity-alias
android:enabled="false"
android:icon="@mipmap/ic_launcher_grey"
android:name="com.todoroo.astrid.activity.TaskListActivity.Grey"
android:roundIcon="@mipmap/ic_launcher_grey"
android:targetActivity="com.todoroo.astrid.activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
</application> </application>
</manifest> </manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@ -52,7 +52,6 @@ import org.tasks.data.TagData;
import org.tasks.data.TagDataDao; import org.tasks.data.TagDataDao;
import org.tasks.dialogs.SortDialog; import org.tasks.dialogs.SortDialog;
import org.tasks.fragments.CommentBarFragment; import org.tasks.fragments.CommentBarFragment;
import org.tasks.gtasks.RemoteListSelectionHandler;
import org.tasks.injection.ActivityComponent; import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity; import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.intents.TaskIntents; import org.tasks.intents.TaskIntents;
@ -72,7 +71,7 @@ import org.tasks.ui.PriorityControlSet;
import org.tasks.ui.TaskListViewModel; import org.tasks.ui.TaskListViewModel;
import timber.log.Timber; import timber.log.Timber;
public class TaskListActivity extends InjectingAppCompatActivity public class MainActivity extends InjectingAppCompatActivity
implements OnFilterItemClickedListener, implements OnFilterItemClickedListener,
TaskListFragment.TaskListFragmentCallbackHandler, TaskListFragment.TaskListFragmentCallbackHandler,
PriorityControlSet.OnPriorityChanged, PriorityControlSet.OnPriorityChanged,
@ -282,7 +281,7 @@ public class TaskListActivity extends InjectingAppCompatActivity
public void restart() { public void restart() {
Intent intent = getIntent(); Intent intent = getIntent();
intent.putExtra(TaskListActivity.OPEN_FILTER, filter); intent.putExtra(MainActivity.OPEN_FILTER, filter);
finish(); finish();
startActivity(intent); startActivity(intent);
} }
@ -383,7 +382,7 @@ public class TaskListActivity extends InjectingAppCompatActivity
if (intent.hasExtra(TOKEN_CREATE_NEW_LIST_NAME)) { if (intent.hasExtra(TOKEN_CREATE_NEW_LIST_NAME)) {
final String listName = intent.getStringExtra(TOKEN_CREATE_NEW_LIST_NAME); final String listName = intent.getStringExtra(TOKEN_CREATE_NEW_LIST_NAME);
intent.removeExtra(TOKEN_CREATE_NEW_LIST_NAME); intent.removeExtra(TOKEN_CREATE_NEW_LIST_NAME);
Intent activityIntent = new Intent(TaskListActivity.this, TagSettingsActivity.class); Intent activityIntent = new Intent(MainActivity.this, TagSettingsActivity.class);
activityIntent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_NAME, listName); activityIntent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_NAME, listName);
startActivityForResult(activityIntent, NavigationDrawerFragment.REQUEST_NEW_LIST); startActivityForResult(activityIntent, NavigationDrawerFragment.REQUEST_NEW_LIST);
} }

@ -1,4 +1,4 @@
/** TODO: make this lightweight, don't extend the entire TaskListActivity */ /** TODO: make this lightweight, don't extend the entire MainActivity */
package com.todoroo.astrid.activity; package com.todoroo.astrid.activity;
import static org.tasks.intents.TaskIntents.getEditTaskStack; import static org.tasks.intents.TaskIntents.getEditTaskStack;

@ -14,8 +14,8 @@ public class TaskEditActivity extends Activity {
final long taskId = getIntent().getLongExtra(TOKEN_ID, 0); final long taskId = getIntent().getLongExtra(TOKEN_ID, 0);
Intent intent = new Intent(this, TaskListActivity.class); Intent intent = new Intent(this, MainActivity.class);
intent.putExtra(TaskListActivity.OPEN_TASK, taskId); intent.putExtra(MainActivity.OPEN_TASK, taskId);
startActivity(intent); startActivity(intent);
finish(); finish();

@ -213,9 +213,9 @@ public final class TaskEditFragment extends InjectingFragment
} }
if (isNewTask) { if (isNewTask) {
((TaskListActivity) getActivity()).getTaskListFragment().onTaskCreated(model.getUuid()); ((MainActivity) getActivity()).getTaskListFragment().onTaskCreated(model.getUuid());
} else { } else {
((TaskListActivity) getActivity()).getTaskListFragment().onTaskSaved(); ((MainActivity) getActivity()).getTaskListFragment().onTaskSaved();
} }
callback.taskEditFinished(); callback.taskEditFinished();
} else { } else {

@ -266,7 +266,7 @@ public class TaskListFragment extends InjectingFragment
Criterion.or( Criterion.or(
Task.NOTES.like("%" + query + "%"), Task.NOTES.like("%" + query + "%"),
Task.TITLE.like("%" + query + "%"))))); Task.TITLE.like("%" + query + "%")))));
((TaskListActivity) getActivity()).onFilterItemClicked(savedFilter); ((MainActivity) getActivity()).onFilterItemClicked(savedFilter);
MenuItemCompat.collapseActionView(item); MenuItemCompat.collapseActionView(item);
return true; return true;
} }
@ -488,7 +488,7 @@ public class TaskListFragment extends InjectingFragment
} }
protected void onTaskDelete(Task task) { protected void onTaskDelete(Task task) {
TaskListActivity activity = (TaskListActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
TaskEditFragment tef = activity.getTaskEditFragment(); TaskEditFragment tef = activity.getTaskEditFragment();
if (tef != null) { if (tef != null) {
if (task.getId() == tef.model.getId()) { if (task.getId() == tef.model.getId()) {
@ -515,14 +515,14 @@ public class TaskListFragment extends InjectingFragment
} else if (requestCode == REQUEST_EDIT_FILTER) { } else if (requestCode == REQUEST_EDIT_FILTER) {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
String action = data.getAction(); String action = data.getAction();
TaskListActivity activity = (TaskListActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
if (FilterSettingsActivity.ACTION_FILTER_DELETED.equals(action)) { if (FilterSettingsActivity.ACTION_FILTER_DELETED.equals(action)) {
activity.onFilterItemClicked(null); activity.onFilterItemClicked(null);
} else if (FilterSettingsActivity.ACTION_FILTER_RENAMED.equals(action)) { } else if (FilterSettingsActivity.ACTION_FILTER_RENAMED.equals(action)) {
activity activity
.getIntent() .getIntent()
.putExtra( .putExtra(
TaskListActivity.OPEN_FILTER, MainActivity.OPEN_FILTER,
(Filter) data.getParcelableExtra(FilterSettingsActivity.TOKEN_FILTER)); (Filter) data.getParcelableExtra(FilterSettingsActivity.TOKEN_FILTER));
activity.recreate(); activity.recreate();
} }

@ -27,7 +27,7 @@ import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.UnaryCriterion; import com.todoroo.andlib.sql.UnaryCriterion;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.CustomFilter; import com.todoroo.astrid.api.CustomFilter;
import com.todoroo.astrid.api.CustomFilterCriterion; import com.todoroo.astrid.api.CustomFilterCriterion;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
@ -253,7 +253,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
Filter filter = Filter filter =
new CustomFilter( new CustomFilter(
title, sql.toString(), values, storeObject.getId(), storeObject.getCriterion()); title, sql.toString(), values, storeObject.getId(), storeObject.getCriterion());
setResult(RESULT_OK, new Intent().putExtra(TaskListActivity.OPEN_FILTER, filter)); setResult(RESULT_OK, new Intent().putExtra(MainActivity.OPEN_FILTER, filter));
finish(); finish();
} }

@ -8,7 +8,7 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
@ -142,8 +142,8 @@ public class CalendarReminderActivity extends ThemedInjectingAppCompatActivity {
} }
private void createNewList(final String name) { private void createNewList(final String name) {
Intent intent = new Intent(CalendarReminderActivity.this, TaskListActivity.class); Intent intent = new Intent(CalendarReminderActivity.this, MainActivity.class);
intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST_NAME, name); intent.putExtra(MainActivity.TOKEN_CREATE_NEW_LIST_NAME, name);
startActivity(intent); startActivity(intent);
dismissButton.performClick(); // finish with animation dismissButton.performClick(); // finish with animation
} }

@ -10,7 +10,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -67,9 +67,9 @@ public class Notifier {
return; return;
} }
Intent intent = new Intent(context, TaskListActivity.class); Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_MULTIPLE_TASK); intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_MULTIPLE_TASK);
intent.putExtra(TaskListActivity.OPEN_FILTER, filter); intent.putExtra(MainActivity.OPEN_FILTER, filter);
PendingIntent pendingIntent = PendingIntent pendingIntent =
PendingIntent.getActivity( PendingIntent.getActivity(
context, filter.listingTitle.hashCode(), intent, PendingIntent.FLAG_UPDATE_CURRENT); context, filter.listingTitle.hashCode(), intent, PendingIntent.FLAG_UPDATE_CURRENT);

@ -6,12 +6,14 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R;
import org.tasks.billing.BillingClient; import org.tasks.billing.BillingClient;
import org.tasks.billing.Inventory; import org.tasks.billing.Inventory;
import org.tasks.billing.PurchaseActivity; import org.tasks.billing.PurchaseActivity;
import org.tasks.dialogs.ColorPickerDialog; import org.tasks.dialogs.ColorPickerDialog;
import org.tasks.injection.ActivityComponent; import org.tasks.injection.ActivityComponent;
import org.tasks.injection.ThemedInjectingAppCompatActivity; import org.tasks.injection.ThemedInjectingAppCompatActivity;
import org.tasks.preferences.Preferences;
import org.tasks.themes.Theme; import org.tasks.themes.Theme;
import org.tasks.themes.ThemeCache; import org.tasks.themes.ThemeCache;
@ -27,6 +29,7 @@ public class ColorPickerActivity extends ThemedInjectingAppCompatActivity
@Inject ThemeCache themeCache; @Inject ThemeCache themeCache;
@Inject BillingClient billingClient; @Inject BillingClient billingClient;
@Inject Inventory inventory; @Inject Inventory inventory;
@Inject Preferences preferences;
private ColorPalette palette; private ColorPalette palette;
@ -55,6 +58,7 @@ public class ColorPickerActivity extends ThemedInjectingAppCompatActivity
case ACCENTS: case ACCENTS:
return themeCache.getAccents(); return themeCache.getAccents();
case COLORS: case COLORS:
case LAUNCHER:
return themeCache.getColors(); return themeCache.getColors();
case THEMES: case THEMES:
return themeCache.getThemes(); return themeCache.getThemes();
@ -106,6 +110,8 @@ public class ColorPickerActivity extends ThemedInjectingAppCompatActivity
return theme.getThemeColor().getIndex(); return theme.getThemeColor().getIndex();
case ACCENTS: case ACCENTS:
return theme.getThemeAccent().getIndex(); return theme.getThemeAccent().getIndex();
case LAUNCHER:
return preferences.getInt(R.string.p_theme_launcher, 7);
default: default:
return theme.getThemeBase().getIndex(); return theme.getThemeBase().getIndex();
} }
@ -115,6 +121,7 @@ public class ColorPickerActivity extends ThemedInjectingAppCompatActivity
THEMES, THEMES,
COLORS, COLORS,
ACCENTS, ACCENTS,
LAUNCHER,
WIDGET_BACKGROUND WIDGET_BACKGROUND
} }
} }

@ -20,7 +20,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.OnFocusChange; import butterknife.OnFocusChange;
import com.google.api.services.tasks.model.TaskList; import com.google.api.services.tasks.model.TaskList;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.GtasksFilter; import com.todoroo.astrid.api.GtasksFilter;
import com.todoroo.astrid.gtasks.GtasksListService; import com.todoroo.astrid.gtasks.GtasksListService;
import com.todoroo.astrid.service.TaskDeleter; import com.todoroo.astrid.service.TaskDeleter;
@ -183,7 +183,7 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent(ACTION_RELOAD) new Intent(ACTION_RELOAD)
.putExtra(TaskListActivity.OPEN_FILTER, new GtasksFilter(gtasksList))); .putExtra(MainActivity.OPEN_FILTER, new GtasksFilter(gtasksList)));
} }
finish(); finish();
} }
@ -268,7 +268,7 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi
gtasksList.setId(googleTaskListDao.insertOrReplace(gtasksList)); gtasksList.setId(googleTaskListDao.insertOrReplace(gtasksList));
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent().putExtra(TaskListActivity.OPEN_FILTER, new GtasksFilter(gtasksList))); new Intent().putExtra(MainActivity.OPEN_FILTER, new GtasksFilter(gtasksList)));
finish(); finish();
} }
@ -289,7 +289,7 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent(ACTION_RELOAD) new Intent(ACTION_RELOAD)
.putExtra(TaskListActivity.OPEN_FILTER, new GtasksFilter(gtasksList))); .putExtra(MainActivity.OPEN_FILTER, new GtasksFilter(gtasksList)));
finish(); finish();
} }

@ -22,7 +22,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.OnFocusChange; import butterknife.OnFocusChange;
import butterknife.OnTextChanged; import butterknife.OnTextChanged;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.TagFilter; import com.todoroo.astrid.api.TagFilter;
import com.todoroo.astrid.helper.UUIDHelper; import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
@ -190,7 +190,7 @@ public class TagSettingsActivity extends ThemedInjectingAppCompatActivity
tagData.setColor(selectedTheme); tagData.setColor(selectedTheme);
tagDataDao.createNew(tagData); tagDataDao.createNew(tagData);
setResult( setResult(
RESULT_OK, new Intent().putExtra(TaskListActivity.OPEN_FILTER, new TagFilter(tagData))); RESULT_OK, new Intent().putExtra(MainActivity.OPEN_FILTER, new TagFilter(tagData)));
} else if (hasChanges()) { } else if (hasChanges()) {
tagData.setName(newName); tagData.setName(newName);
tagData.setColor(selectedTheme); tagData.setColor(selectedTheme);
@ -199,7 +199,7 @@ public class TagSettingsActivity extends ThemedInjectingAppCompatActivity
tagDao.rename(tagData.getRemoteId(), newName); tagDao.rename(tagData.getRemoteId(), newName);
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent(ACTION_RELOAD).putExtra(TaskListActivity.OPEN_FILTER, new TagFilter(tagData))); new Intent(ACTION_RELOAD).putExtra(MainActivity.OPEN_FILTER, new TagFilter(tagData)));
} }
finish(); finish();

@ -11,6 +11,7 @@ public class Tracking {
SET_THEME(R.string.tracking_category_preferences, R.string.p_theme), SET_THEME(R.string.tracking_category_preferences, R.string.p_theme),
SET_COLOR(R.string.tracking_category_preferences, R.string.p_theme_color), SET_COLOR(R.string.tracking_category_preferences, R.string.p_theme_color),
SET_ACCENT(R.string.tracking_category_preferences, R.string.p_theme_accent), SET_ACCENT(R.string.tracking_category_preferences, R.string.p_theme_accent),
SET_LAUNCHER(R.string.tracking_category_preferences, R.string.p_theme_launcher),
SET_TAG_COLOR(R.string.tracking_category_tags, R.string.p_theme_color), SET_TAG_COLOR(R.string.tracking_category_tags, R.string.p_theme_color),
WIDGET_ADD(R.string.tracking_category_widget, R.string.tracking_action_add), WIDGET_ADD(R.string.tracking_category_widget, R.string.tracking_action_add),
TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start), TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start),

@ -23,7 +23,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.OnFocusChange; import butterknife.OnFocusChange;
import butterknife.OnTextChanged; import butterknife.OnTextChanged;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.CaldavFilter; import com.todoroo.astrid.api.CaldavFilter;
import com.todoroo.astrid.helper.UUIDHelper; import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.service.TaskDeleter; import com.todoroo.astrid.service.TaskDeleter;
@ -259,7 +259,7 @@ public class CaldavCalendarSettingsActivity extends ThemedInjectingAppCompatActi
tracker.reportEvent(Events.CALDAV_LIST_ADDED); tracker.reportEvent(Events.CALDAV_LIST_ADDED);
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent().putExtra(TaskListActivity.OPEN_FILTER, new CaldavFilter(caldavCalendar))); new Intent().putExtra(MainActivity.OPEN_FILTER, new CaldavFilter(caldavCalendar)));
finish(); finish();
} }
@ -270,7 +270,7 @@ public class CaldavCalendarSettingsActivity extends ThemedInjectingAppCompatActi
setResult( setResult(
RESULT_OK, RESULT_OK,
new Intent(ACTION_RELOAD) new Intent(ACTION_RELOAD)
.putExtra(TaskListActivity.OPEN_FILTER, new CaldavFilter(caldavCalendar))); .putExtra(MainActivity.OPEN_FILTER, new CaldavFilter(caldavCalendar)));
finish(); finish();
} }

@ -6,7 +6,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.CaldavFilter; import com.todoroo.astrid.api.CaldavFilter;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
@ -59,7 +59,7 @@ public class CaldavListFragment extends TaskListFragment {
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ACCOUNT_SETTINGS) { if (requestCode == REQUEST_ACCOUNT_SETTINGS) {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
TaskListActivity activity = (TaskListActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
String action = data.getAction(); String action = data.getAction();
if (CaldavCalendarSettingsActivity.ACTION_DELETED.equals(action)) { if (CaldavCalendarSettingsActivity.ACTION_DELETED.equals(action)) {
activity.onFilterItemClicked(null); activity.onFilterItemClicked(null);
@ -67,8 +67,8 @@ public class CaldavListFragment extends TaskListFragment {
activity activity
.getIntent() .getIntent()
.putExtra( .putExtra(
TaskListActivity.OPEN_FILTER, MainActivity.OPEN_FILTER,
(Filter) data.getParcelableExtra(TaskListActivity.OPEN_FILTER)); (Filter) data.getParcelableExtra(MainActivity.OPEN_FILTER));
activity.recreate(); activity.recreate();
} }
} }

@ -4,7 +4,7 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.google.android.apps.dashclock.api.ExtensionData; import com.google.android.apps.dashclock.api.ExtensionData;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -64,8 +64,8 @@ public class DashClockExtension extends com.google.android.apps.dashclock.api.Da
if (count == 0) { if (count == 0) {
publish(null); publish(null);
} else { } else {
Intent clickIntent = new Intent(this, TaskListActivity.class); Intent clickIntent = new Intent(this, MainActivity.class);
clickIntent.putExtra(TaskListActivity.LOAD_FILTER, filterPreference); clickIntent.putExtra(MainActivity.LOAD_FILTER, filterPreference);
ExtensionData extensionData = ExtensionData extensionData =
new ExtensionData() new ExtensionData()
.visible(true) .visible(true)

@ -1,8 +1,8 @@
package org.tasks.injection; package org.tasks.injection;
import com.todoroo.astrid.activity.BeastModePreferences; import com.todoroo.astrid.activity.BeastModePreferences;
import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.ShareLinkActivity; import com.todoroo.astrid.activity.ShareLinkActivity;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.core.CustomFilterActivity;
import com.todoroo.astrid.core.DefaultsPreferences; import com.todoroo.astrid.core.DefaultsPreferences;
import com.todoroo.astrid.core.OldTaskPreferences; import com.todoroo.astrid.core.OldTaskPreferences;
@ -76,7 +76,7 @@ public interface ActivityComponent {
void inject(ShareLinkActivity shareLinkActivity); void inject(ShareLinkActivity shareLinkActivity);
void inject(TaskListActivity taskListActivity); void inject(MainActivity mainActivity);
void inject(BeastModePreferences beastModePreferences); void inject(BeastModePreferences beastModePreferences);

@ -16,7 +16,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.jakewharton.processphoenix.ProcessPhoenix; import com.jakewharton.processphoenix.ProcessPhoenix;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
@ -128,8 +128,8 @@ public abstract class InjectingPreferenceActivity extends AppCompatPreferenceAct
R.string.restart_now, R.string.restart_now,
(dialogInterface, i) -> { (dialogInterface, i) -> {
Intent nextIntent = Intent nextIntent =
new Intent(InjectingPreferenceActivity.this, TaskListActivity.class); new Intent(InjectingPreferenceActivity.this, MainActivity.class);
nextIntent.putExtra(TaskListActivity.OPEN_FILTER, (Filter) null); nextIntent.putExtra(MainActivity.OPEN_FILTER, (Filter) null);
ProcessPhoenix.triggerRebirth(InjectingPreferenceActivity.this, nextIntent); ProcessPhoenix.triggerRebirth(InjectingPreferenceActivity.this, nextIntent);
}) })
.setNegativeButton(R.string.restart_later, null) .setNegativeButton(R.string.restart_later, null)

@ -4,7 +4,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.v4.app.TaskStackBuilder; import android.support.v4.app.TaskStackBuilder;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -12,14 +12,14 @@ public class TaskIntents {
public static TaskStackBuilder getEditTaskStack(Context context, final Filter filter, Task task) { public static TaskStackBuilder getEditTaskStack(Context context, final Filter filter, Task task) {
Intent intent = getTaskListIntent(context, filter); Intent intent = getTaskListIntent(context, filter);
intent.putExtra(TaskListActivity.OPEN_NEW_TASK, task); intent.putExtra(MainActivity.OPEN_NEW_TASK, task);
return TaskStackBuilder.create(context).addNextIntent(intent); return TaskStackBuilder.create(context).addNextIntent(intent);
} }
public static TaskStackBuilder getEditTaskStack( public static TaskStackBuilder getEditTaskStack(
Context context, final Filter filter, final long taskId) { Context context, final Filter filter, final long taskId) {
Intent intent = getTaskListIntent(context, filter); Intent intent = getTaskListIntent(context, filter);
intent.putExtra(TaskListActivity.OPEN_TASK, taskId); intent.putExtra(MainActivity.OPEN_TASK, taskId);
return TaskStackBuilder.create(context).addNextIntent(intent); return TaskStackBuilder.create(context).addNextIntent(intent);
} }
@ -29,22 +29,22 @@ public class TaskIntents {
public static Intent getEditTaskIntent(Context context, String filterId, long taskId) { public static Intent getEditTaskIntent(Context context, String filterId, long taskId) {
Intent taskListIntent = getTaskListByIdIntent(context, filterId); Intent taskListIntent = getTaskListByIdIntent(context, filterId);
taskListIntent.putExtra(TaskListActivity.OPEN_TASK, taskId); taskListIntent.putExtra(MainActivity.OPEN_TASK, taskId);
return taskListIntent; return taskListIntent;
} }
public static Intent getTaskListIntent(Context context, final Filter filter) { public static Intent getTaskListIntent(Context context, final Filter filter) {
Intent intent = new Intent(context, TaskListActivity.class); Intent intent = new Intent(context, MainActivity.class);
if (filter != null) { if (filter != null) {
intent.putExtra(TaskListActivity.OPEN_FILTER, filter); intent.putExtra(MainActivity.OPEN_FILTER, filter);
} }
return intent; return intent;
} }
public static Intent getTaskListByIdIntent(Context context, final String filterId) { public static Intent getTaskListByIdIntent(Context context, final String filterId) {
Intent intent = new Intent(context, TaskListActivity.class); Intent intent = new Intent(context, MainActivity.class);
if (!Strings.isNullOrEmpty(filterId)) { if (!Strings.isNullOrEmpty(filterId)) {
intent.putExtra(TaskListActivity.LOAD_FILTER, filterId); intent.putExtra(MainActivity.LOAD_FILTER, filterId);
} }
return intent; return intent;
} }

@ -4,9 +4,12 @@ import static com.todoroo.andlib.utility.AndroidUtilities.atLeastJellybeanMR1;
import static org.tasks.dialogs.ExportTasksDialog.newExportTasksDialog; import static org.tasks.dialogs.ExportTasksDialog.newExportTasksDialog;
import static org.tasks.dialogs.ImportTasksDialog.newImportTasksDialog; import static org.tasks.dialogs.ImportTasksDialog.newImportTasksDialog;
import static org.tasks.locale.LocalePickerDialog.newLocalePickerDialog; import static org.tasks.locale.LocalePickerDialog.newLocalePickerDialog;
import static org.tasks.themes.ThemeColor.LAUNCHERS;
import android.app.Activity; import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.preference.Preference; import android.preference.Preference;
import com.google.common.base.Strings; import com.google.common.base.Strings;
@ -17,8 +20,10 @@ import javax.inject.Inject;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.R; import org.tasks.R;
import org.tasks.activities.ColorPickerActivity; import org.tasks.activities.ColorPickerActivity;
import org.tasks.activities.ColorPickerActivity.ColorPalette;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking; import org.tasks.analytics.Tracking;
import org.tasks.analytics.Tracking.Events;
import org.tasks.billing.BillingClient; import org.tasks.billing.BillingClient;
import org.tasks.billing.Inventory; import org.tasks.billing.Inventory;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
@ -45,6 +50,7 @@ public class BasicPreferences extends InjectingPreferenceActivity
private static final int REQUEST_ACCENT_PICKER = 10004; private static final int REQUEST_ACCENT_PICKER = 10004;
private static final int REQUEST_CODE_BACKUP_DIR = 10005; private static final int REQUEST_CODE_BACKUP_DIR = 10005;
private static final int REQUEST_PICKER = 10006; private static final int REQUEST_PICKER = 10006;
private static final int REQUEST_LAUNCHER_PICKER = 10007;
@Inject Tracker tracker; @Inject Tracker tracker;
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject ThemeBase themeBase; @Inject ThemeBase themeBase;
@ -78,8 +84,7 @@ public class BasicPreferences extends InjectingPreferenceActivity
themePreference.setOnPreferenceClickListener( themePreference.setOnPreferenceClickListener(
preference -> { preference -> {
Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class); Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class);
intent.putExtra( intent.putExtra(ColorPickerActivity.EXTRA_PALETTE, ColorPalette.THEMES);
ColorPickerActivity.EXTRA_PALETTE, ColorPickerActivity.ColorPalette.THEMES);
startActivityForResult(intent, REQUEST_THEME_PICKER); startActivityForResult(intent, REQUEST_THEME_PICKER);
return false; return false;
}); });
@ -88,8 +93,7 @@ public class BasicPreferences extends InjectingPreferenceActivity
colorPreference.setOnPreferenceClickListener( colorPreference.setOnPreferenceClickListener(
preference -> { preference -> {
Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class); Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class);
intent.putExtra( intent.putExtra(ColorPickerActivity.EXTRA_PALETTE, ColorPalette.COLORS);
ColorPickerActivity.EXTRA_PALETTE, ColorPickerActivity.ColorPalette.COLORS);
startActivityForResult(intent, REQUEST_COLOR_PICKER); startActivityForResult(intent, REQUEST_COLOR_PICKER);
return false; return false;
}); });
@ -98,11 +102,21 @@ public class BasicPreferences extends InjectingPreferenceActivity
accentPreference.setOnPreferenceClickListener( accentPreference.setOnPreferenceClickListener(
preference -> { preference -> {
Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class); Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class);
intent.putExtra( intent.putExtra(ColorPickerActivity.EXTRA_PALETTE, ColorPalette.ACCENTS);
ColorPickerActivity.EXTRA_PALETTE, ColorPickerActivity.ColorPalette.ACCENTS);
startActivityForResult(intent, REQUEST_ACCENT_PICKER); startActivityForResult(intent, REQUEST_ACCENT_PICKER);
return false; return false;
}); });
Preference launcherPreference = findPreference(getString(R.string.p_theme_launcher));
ThemeColor launcherColor =
themeCache.getThemeColor(preferences.getInt(R.string.p_theme_launcher, 7));
launcherPreference.setSummary(launcherColor.getName());
launcherPreference.setOnPreferenceClickListener(
preference -> {
Intent intent = new Intent(BasicPreferences.this, ColorPickerActivity.class);
intent.putExtra(ColorPickerActivity.EXTRA_PALETTE, ColorPalette.LAUNCHER);
startActivityForResult(intent, REQUEST_LAUNCHER_PICKER);
return false;
});
Preference languagePreference = findPreference(getString(R.string.p_language)); Preference languagePreference = findPreference(getString(R.string.p_language));
updateLocale(); updateLocale();
languagePreference.setOnPreferenceClickListener( languagePreference.setOnPreferenceClickListener(
@ -202,6 +216,14 @@ public class BasicPreferences extends InjectingPreferenceActivity
result.putBoolean(AppearancePreferences.EXTRA_RESTART, true); result.putBoolean(AppearancePreferences.EXTRA_RESTART, true);
recreate(); recreate();
} }
} else if (requestCode == REQUEST_LAUNCHER_PICKER) {
if (resultCode == RESULT_OK) {
int index = data.getIntExtra(ColorPickerActivity.EXTRA_THEME_INDEX, 0);
setLauncherIcon(index);
preferences.setInt(R.string.p_theme_launcher, index);
tracker.reportEvent(Events.SET_LAUNCHER, Integer.toString(index));
recreate();
}
} else if (requestCode == RC_PREFS) { } else if (requestCode == RC_PREFS) {
if (resultCode == Activity.RESULT_OK && data != null) { if (resultCode == Activity.RESULT_OK && data != null) {
result.putAll(data.getExtras()); result.putAll(data.getExtras());
@ -273,6 +295,20 @@ public class BasicPreferences extends InjectingPreferenceActivity
return dir == null ? "" : dir.getAbsolutePath(); return dir == null ? "" : dir.getAbsolutePath();
} }
private void setLauncherIcon(int index) {
PackageManager packageManager = getPackageManager();
for (int i = 0; i < LAUNCHERS.length; i++) {
ComponentName componentName =
new ComponentName(this, "com.todoroo.astrid.activity.TaskListActivity" + LAUNCHERS[i]);
packageManager.setComponentEnabledSetting(
componentName,
index == i
? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
: PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
}
@Override @Override
public void inject(ActivityComponent component) { public void inject(ActivityComponent component) {
component.inject(this); component.inject(this);

@ -6,7 +6,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.google.ical.values.RRule; import com.google.ical.values.RRule;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
@ -33,8 +33,8 @@ public class RepeatConfirmationReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(final Context context, final Intent intent) { public void onReceive(final Context context, final Intent intent) {
TaskListFragment taskListFragment = null; TaskListFragment taskListFragment = null;
if (activity instanceof TaskListActivity) { if (activity instanceof MainActivity) {
taskListFragment = ((TaskListActivity) activity).getTaskListFragment(); taskListFragment = ((MainActivity) activity).getTaskListFragment();
} }
if (taskListFragment == null) { if (taskListFragment == null) {
Timber.d("No task list fragment"); Timber.d("No task list fragment");

@ -8,7 +8,7 @@ import android.support.v7.view.ActionMode;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
@ -61,7 +61,7 @@ public class ActionModeProvider {
TaskAdapter adapter, TaskAdapter adapter,
TaskListFragment taskList, TaskListFragment taskList,
TaskListRecyclerAdapter taskListRecyclerAdapter) { TaskListRecyclerAdapter taskListRecyclerAdapter) {
return ((TaskListActivity) context) return ((MainActivity) context)
.startSupportActionMode( .startSupportActionMode(
new ActionMode.Callback() { new ActionMode.Callback() {
@Override @Override

@ -6,7 +6,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.GtasksFilter; import com.todoroo.astrid.api.GtasksFilter;
@ -65,7 +65,7 @@ public class GtasksListFragment extends TaskListFragment {
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_LIST_SETTINGS) { if (requestCode == REQUEST_LIST_SETTINGS) {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
TaskListActivity activity = (TaskListActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
String action = data.getAction(); String action = data.getAction();
if (GoogleTaskListSettingsActivity.ACTION_DELETED.equals(action)) { if (GoogleTaskListSettingsActivity.ACTION_DELETED.equals(action)) {
activity.onFilterItemClicked(null); activity.onFilterItemClicked(null);
@ -73,8 +73,8 @@ public class GtasksListFragment extends TaskListFragment {
activity activity
.getIntent() .getIntent()
.putExtra( .putExtra(
TaskListActivity.OPEN_FILTER, MainActivity.OPEN_FILTER,
(Filter) data.getParcelableExtra(TaskListActivity.OPEN_FILTER)); (Filter) data.getParcelableExtra(MainActivity.OPEN_FILTER));
activity.recreate(); activity.recreate();
} }
} }

@ -5,7 +5,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.TagFilter; import com.todoroo.astrid.api.TagFilter;
@ -60,15 +60,15 @@ public class TagListFragment extends TaskListFragment {
if (requestCode == REQUEST_EDIT_TAG) { if (requestCode == REQUEST_EDIT_TAG) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
String action = data.getAction(); String action = data.getAction();
TaskListActivity activity = (TaskListActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
if (TagSettingsActivity.ACTION_DELETED.equals(action)) { if (TagSettingsActivity.ACTION_DELETED.equals(action)) {
activity.onFilterItemClicked(null); activity.onFilterItemClicked(null);
} else if (TagSettingsActivity.ACTION_RELOAD.equals(action)) { } else if (TagSettingsActivity.ACTION_RELOAD.equals(action)) {
activity activity
.getIntent() .getIntent()
.putExtra( .putExtra(
TaskListActivity.OPEN_FILTER, MainActivity.OPEN_FILTER,
(Filter) data.getParcelableExtra(TaskListActivity.OPEN_FILTER)); (Filter) data.getParcelableExtra(MainActivity.OPEN_FILTER));
activity.recreate(); activity.recreate();
} }
} }

@ -19,6 +19,30 @@ import org.tasks.ui.MenuColorizer;
public class ThemeColor implements ColorPickerDialog.Pickable { public class ThemeColor implements ColorPickerDialog.Pickable {
public static final String[] LAUNCHERS =
new String[] {
".BlueGrey",
".DarkGrey",
".Red",
".Pink",
".Purple",
".DeepPurple",
".Indigo",
"",
".LightBlue",
".Cyan",
".Teal",
".Green",
".LightGreen",
".Lime",
".Yellow",
".Amber",
".Orange",
".DeepOrange",
".Brown",
".Grey"
};
static final int[] COLORS = static final int[] COLORS =
new int[] { new int[] {
R.style.BlueGrey, R.style.BlueGrey,
@ -42,6 +66,7 @@ public class ThemeColor implements ColorPickerDialog.Pickable {
R.style.Brown, R.style.Brown,
R.style.Grey R.style.Grey
}; };
public static Creator<ThemeColor> CREATOR = public static Creator<ThemeColor> CREATOR =
new Creator<ThemeColor>() { new Creator<ThemeColor>() {
@Override @Override

@ -14,7 +14,7 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ListView; import android.widget.ListView;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.MainActivity;
import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -68,19 +68,19 @@ public class NavigationDrawerFragment extends InjectingFragment {
if (requestCode == FilterAdapter.REQUEST_SETTINGS) { if (requestCode == FilterAdapter.REQUEST_SETTINGS) {
if (resultCode == Activity.RESULT_OK && data != null) { if (resultCode == Activity.RESULT_OK && data != null) {
if (data.getBooleanExtra(AppearancePreferences.EXTRA_RESTART, false)) { if (data.getBooleanExtra(AppearancePreferences.EXTRA_RESTART, false)) {
((TaskListActivity) getActivity()).restart(); ((MainActivity) getActivity()).restart();
} }
} }
} else if (requestCode == FilterAdapter.REQUEST_PURCHASE) { } else if (requestCode == FilterAdapter.REQUEST_PURCHASE) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
((TaskListActivity) getActivity()).restart(); ((MainActivity) getActivity()).restart();
} }
} else if (requestCode == REQUEST_NEW_LIST } else if (requestCode == REQUEST_NEW_LIST
|| requestCode == ACTIVITY_REQUEST_NEW_FILTER || requestCode == ACTIVITY_REQUEST_NEW_FILTER
|| requestCode == REQUEST_NEW_GTASK_LIST || requestCode == REQUEST_NEW_GTASK_LIST
|| requestCode == REQUEST_NEW_CALDAV_COLLECTION) { || requestCode == REQUEST_NEW_CALDAV_COLLECTION) {
if (resultCode == RESULT_OK && data != null) { if (resultCode == RESULT_OK && data != null) {
Filter newList = data.getParcelableExtra(TaskListActivity.OPEN_FILTER); Filter newList = data.getParcelableExtra(MainActivity.OPEN_FILTER);
if (newList != null) { if (newList != null) {
mCallbacks.onFilterItemClicked(newList); mCallbacks.onFilterItemClicked(newList);
} }

@ -50,7 +50,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity {
Intent intent = new Intent(); Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, filter.listingTitle); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, filter.listingTitle);
Drawable launcher = ContextCompat.getDrawable(this, R.mipmap.ic_launcher_round); Drawable launcher = ContextCompat.getDrawable(this, R.mipmap.ic_launcher_blue);
if (launcher instanceof BitmapDrawable) { if (launcher instanceof BitmapDrawable) {
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, ((BitmapDrawable) launcher).getBitmap()); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, ((BitmapDrawable) launcher).getBitmap());
} else if (atLeastOreo() && launcher instanceof AdaptiveIconDrawable) { } else if (atLeastOreo() && launcher instanceof AdaptiveIconDrawable) {

@ -60,7 +60,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="5dip" android:layout_marginBottom="5dip"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher_round"/> android:src="@mipmap/ic_launcher_blue"/>
<LinearLayout <LinearLayout

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/amber_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/blue_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon> </adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/blue_grey_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/brown_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/cyan_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/grey_900"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/deep_orange_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/deep_purple_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/green_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/grey_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/indigo_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/light_blue_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/light_green_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/lime_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/orange_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/pink_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/purple_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/red_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/teal_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/yellow_500"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save