Let tablet users choose if they want to use the phone layouts in Astrid Labs

pull/14/head
Sam Bosley 14 years ago
parent 0b87acc76a
commit 6c862a4eff

@ -57,6 +57,7 @@ import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.ui.PeopleContainer;
import com.todoroo.astrid.ui.PeopleContainer.ParseSharedException;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.welcome.HelpInfoPopover;
public class TagSettingsActivity extends FragmentActivity {
@ -140,7 +141,7 @@ public class TagSettingsActivity extends FragmentActivity {
}
private void setupForDialogOrFullscreen() {
isDialog = AndroidUtilities.isTabletSized(this);
isDialog = AstridPreferences.useTabletLayout(this);
if (isDialog)
setTheme(ThemeService.getDialogTheme());
else

@ -36,7 +36,6 @@ import android.widget.TextView.OnEditorActionListener;
import com.timsu.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
@ -57,6 +56,7 @@ import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
public class TagUpdatesFragment extends ListFragment {
@ -247,7 +247,7 @@ public class TagUpdatesFragment extends ListFragment {
}
private void addHeaderToListView(ListView listView) {
if (AndroidUtilities.isTabletSized(getActivity()) && tagData != null) {
if (AstridPreferences.useTabletLayout(getActivity()) && tagData != null) {
listHeader = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.tag_updates_header, listView, false);
populateListHeader(listHeader);
listView.addHeaderView(listHeader);

@ -134,11 +134,11 @@ public class TagViewFragment extends TaskListFragment {
@Override
public void onClick(View v) {
Activity activity = getActivity();
Class<?> settingsClass = AndroidUtilities.isTabletSized(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Class<?> settingsClass = AstridPreferences.useTabletLayout(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Intent intent = new Intent(getActivity(), settingsClass);
intent.putExtra(EXTRA_TAG_DATA, tagData);
startActivityForResult(intent, REQUEST_CODE_SETTINGS);
if (!AndroidUtilities.isTabletSized(activity)) {
if (!AstridPreferences.useTabletLayout(activity)) {
AndroidUtilities.callOverridePendingTransition(activity, R.anim.slide_left_in, R.anim.slide_left_out);
}
}

@ -16,7 +16,6 @@ import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.FilterListFragment;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer;
@ -28,6 +27,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskApiDao.TaskCriteria;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
/**
* Exposes Astrid's built in filters to the {@link FilterListFragment}
@ -70,7 +70,7 @@ public final class CoreFilterExposer extends BroadcastReceiver implements Astrid
Criterion.and(MetadataCriteria.withKey(TagService.KEY),
TagService.TAG.like("x_%", "x"))))))), //$NON-NLS-1$ //$NON-NLS-2$
null);
boolean isTablet = AndroidUtilities.isTabletSized(ContextManager.getContext());
boolean isTablet = AstridPreferences.useTabletLayout(ContextManager.getContext());
int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0;
inbox.listingIcon = ((BitmapDrawable)r.getDrawable(
ThemeService.getDrawable(R.drawable.filter_inbox, themeFlags))).getBitmap();

@ -45,7 +45,6 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Field;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.UnaryCriterion;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.CustomFilterCriterion;
@ -58,6 +57,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskApiDao.TaskCriteria;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.utility.AstridPreferences;
/**
* Activity that allows users to build custom filters
@ -176,7 +176,7 @@ public class CustomFilterActivity extends FragmentActivity {
}
private void setupForDialogOrFullscreen() {
isDialog = AndroidUtilities.isTabletSized(this);
isDialog = AstridPreferences.useTabletLayout(this);
if (isDialog)
setTheme(ThemeService.getDialogTheme());
else

@ -43,6 +43,7 @@ import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata;
import com.todoroo.astrid.utility.AstridPreferences;
/**
* Exposes Astrid's built in filters to the {@link FilterListFragment}
@ -77,7 +78,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
}
private Filter[] buildSavedFilters(Context context, Resources r) {
boolean isTablet = AndroidUtilities.isTabletSized(context);
boolean isTablet = AstridPreferences.useTabletLayout(context);
int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0;
StoreObjectDao dao = PluginServices.getStoreObjectDao();
@ -133,7 +134,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
}
public static Filter getAssignedByMeFilter(Resources r) {
boolean isTablet = AndroidUtilities.isTabletSized(ContextManager.getContext());
boolean isTablet = AstridPreferences.useTabletLayout(ContextManager.getContext());
int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0;
Filter f = new Filter(r.getString(R.string.BFE_Assigned),
r.getString(R.string.BFE_Assigned),

@ -75,6 +75,13 @@ public class LabsPreferences extends TodorooPreferenceActivity {
PreferenceScreen screen = getPreferenceScreen();
screen.removePreference(preference);
}
} else if (r.getString(R.string.p_force_phone_layout).equals(key)) {
if (!AndroidUtilities.isTabletSized(this)) {
PreferenceScreen screen = getPreferenceScreen();
screen.removePreference(preference);
} else {
preference.setOnPreferenceChangeListener(settingChangedListener);
}
}
}

@ -29,7 +29,6 @@ import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService;
import com.todoroo.astrid.api.AstridApiConstants;
@ -45,6 +44,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.User;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
public class PeopleFilterExposer extends BroadcastReceiver {
@Override
@ -142,7 +142,7 @@ public class PeopleFilterExposer extends BroadcastReceiver {
tagsWithMembers.close();
}
boolean isTablet = AndroidUtilities.isTabletSized(context);
boolean isTablet = AstridPreferences.useTabletLayout(context);
int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0;
String title = context.getString(R.string.actfm_my_shared_tasks_title);

@ -8,9 +8,9 @@ package com.todoroo.astrid.people;
import android.app.Activity;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.FilterListFragment;
import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.utility.AstridPreferences;
public class PeopleListFragment extends FilterListFragment {
@ -21,7 +21,7 @@ public class PeopleListFragment extends FilterListFragment {
@Override
protected int getLayout(Activity activity) {
if (AndroidUtilities.isTabletSized(activity))
if (AstridPreferences.useTabletLayout(activity))
return R.layout.people_list_fragment_3pane;
else
return R.layout.people_list_fragment;

@ -28,7 +28,6 @@ import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.api.AstridApiConstants;
@ -167,7 +166,7 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
Context context = ContextManager.getContext();
Resources r = context.getResources();
boolean isTablet = AndroidUtilities.isTabletSized(context);
boolean isTablet = AstridPreferences.useTabletLayout(context);
int themeFlags = isTablet ? ThemeService.FLAG_FORCE_LIGHT : 0;
// --- untagged

@ -9,11 +9,11 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagSettingsActivityTablet;
import com.todoroo.astrid.api.Addon;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.utility.AstridPreferences;
public class TagsPlugin extends BroadcastReceiver {
@ -36,7 +36,7 @@ public class TagsPlugin extends BroadcastReceiver {
* @param activity
*/
public static Intent newTagDialog(Context context) {
Class<?> settingsComponent = AndroidUtilities.isTabletSized(context) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Class<?> settingsComponent = AstridPreferences.useTabletLayout(context) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Intent intent = new Intent(context, settingsComponent);
return intent;
}

@ -309,10 +309,6 @@ public class TaskRabbitActivity extends FragmentActivity {
private void setupForDialogOrFullscreen() {
// isDialog = AndroidUtilities.isTabletSized(this);
// if (isDialog)
// setTheme(ThemeService.getDialogTheme());
// else
ThemeService.applyTheme(this);
}

@ -57,6 +57,9 @@
<!-- show ideas tab preference -->
<string name="p_ideas_tab_enabled">ideas_tab_enabled</string>
<!-- force tablets to use phone layout -->
<string name="p_force_phone_layout">force_phone_layout</string>
<string-array name="TEA_reminder_random_hours">
<!-- values (in hours) associated with items above. -->

@ -658,6 +658,7 @@
<string name = "EPr_cal_end_at_due_time">End calendar events at due time</string>
<string name = "EPr_cal_start_at_due_time">Start calendar events at due time</string>
<string name="EPr_force_phone_layout">Use phone layout</string>
<string name="EPr_swipe_lists_restart_alert">You will need to restart Astrid for this change to take effect</string>

@ -30,5 +30,9 @@
<CheckBoxPreference
android:title="@string/EPr_cal_end_or_start_at_due_time"
android:key = "@string/p_end_at_deadline" />
<CheckBoxPreference
android:title="@string/EPr_force_phone_layout"
android:key="@string/p_force_phone_layout"
android:defaultValue="false"/>
</PreferenceScreen>

@ -55,6 +55,7 @@ import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.welcome.HelpInfoPopover;
/**
@ -145,7 +146,7 @@ public class FilterListFragment extends ListFragment {
}
protected int getLayout(Activity activity) {
if (AndroidUtilities.isTabletSized(activity)) {
if (AstridPreferences.useTabletLayout(activity)) {
adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Tablet;
return R.layout.filter_list_activity_3pane;
} else
@ -168,7 +169,7 @@ public class FilterListFragment extends ListFragment {
public void onClick(View v) {
Intent intent = TagsPlugin.newTagDialog(getActivity());
getActivity().startActivityForResult(intent, REQUEST_NEW_LIST);
if (!AndroidUtilities.isTabletSized(getActivity()))
if (!AstridPreferences.useTabletLayout(getActivity()))
AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
}
});

@ -60,6 +60,7 @@ import com.todoroo.astrid.ui.FragmentPopover;
import com.todoroo.astrid.ui.MainMenuPopover;
import com.todoroo.astrid.ui.MainMenuPopover.MainMenuListener;
import com.todoroo.astrid.ui.TaskListFragmentPager;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags;
@ -216,7 +217,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
}
protected int getContentView() {
if (AndroidUtilities.isTabletSized(this))
if (AstridPreferences.useTabletLayout(this))
return R.layout.task_list_wrapper_activity_3pane;
else if (Preferences.getIntegerFromString(R.string.p_swipe_lists_performance_key, 3) == 0)
return R.layout.task_list_wrapper_activity_no_swipe;
@ -312,7 +313,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
private void createMainMenuPopover() {
int layout;
boolean isTablet = AndroidUtilities.isTabletSized(this);
boolean isTablet = AstridPreferences.useTabletLayout(this);
if (isTablet)
layout = R.layout.main_menu_popover_tablet;
else

@ -427,7 +427,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
if (!isCurrentTaskListFragment())
return;
boolean isTablet = AndroidUtilities.isTabletSized(activity);
boolean isTablet = AstridPreferences.useTabletLayout(activity);
if (activity instanceof TaskListActivity)
((TaskListActivity) activity).getMainMenuPopover().clear();
@ -1004,7 +1004,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
R.string.p_showed_lists_help, false)) {
AstridActivity activity = (AstridActivity) getActivity();
if (activity != null) {
if (AndroidUtilities.isTabletSized(activity)) {
if (AstridPreferences.useTabletLayout(activity)) {
FilterListFragment flf = activity.getFilterListFragment();
if (flf != null)
flf.showAddListPopover();

@ -14,6 +14,7 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.widget.TasksWidget;
@SuppressWarnings("nls")
@ -140,7 +141,7 @@ public class ThemeService {
}
if (lightDrawable == R.drawable.icn_menu_refresh &&
AndroidUtilities.isTabletSized(ContextManager.getContext()))
AstridPreferences.useTabletLayout(ContextManager.getContext()))
return R.drawable.icn_menu_refresh_tablet;
if(!darkTheme)

@ -20,10 +20,10 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.TouchInterceptingFrameLayout.InterceptTouchListener;
import com.todoroo.astrid.utility.AstridPreferences;
public class MainMenuPopover extends FragmentPopover implements InterceptTouchListener {
@ -63,7 +63,7 @@ public class MainMenuPopover extends FragmentPopover implements InterceptTouchLi
}
});
if (AndroidUtilities.isTabletSized(context))
if (AstridPreferences.useTabletLayout(context))
rowLayout = R.layout.main_menu_row_tablet;
else
rowLayout = R.layout.main_menu_row;

@ -14,6 +14,7 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.activity.BeastModePreferences;
import com.todoroo.astrid.api.AstridApiConstants;
@ -139,4 +140,8 @@ public class AstridPreferences {
return true;
}
public static boolean useTabletLayout(Context context) {
return AndroidUtilities.isTabletSized(context) && !Preferences.getBoolean(R.string.p_force_phone_layout, false);
}
}

@ -242,7 +242,7 @@ public class TasksWidget extends AppWidgetProvider {
Intent editIntent;
boolean tablet = AndroidUtilities.isTabletSized(context);
boolean tablet = AstridPreferences.useTabletLayout(context);
if (tablet) {
editIntent = new Intent(context, TaskListActivity.class);
editIntent.putExtra(TaskListActivity.OPEN_TASK, 0L);

Loading…
Cancel
Save