mirror of https://github.com/tasks/tasks
Move google task sync code back into main
parent
bcc5deba18
commit
4c5c1487de
@ -1,23 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.api.Filter;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class GtasksFilterExposer {
|
|
||||||
@Inject
|
|
||||||
public GtasksFilterExposer() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Filter> getFilters() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Filter getFilter(long aLong) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class GtasksListService {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public GtasksListService() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GoogleTaskList> getLists() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoogleTaskList getList(long storeId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoogleTaskList getList(String remoteId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
import com.todoroo.astrid.api.GtasksFilter;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
import org.tasks.tasklist.GtasksListFragment;
|
|
||||||
|
|
||||||
public class GtasksSubtaskListFragment extends GtasksListFragment {
|
|
||||||
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
package org.tasks;
|
|
||||||
|
|
||||||
import android.accounts.Account;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class AccountManager {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public AccountManager() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<String> getAccounts() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Account getAccount(String userName) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
package org.tasks.activities;
|
|
||||||
|
|
||||||
public class GoogleTaskListSettingsActivity {
|
|
||||||
}
|
|
@ -0,0 +1,40 @@
|
|||||||
|
package org.tasks.gtasks;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
|
||||||
|
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
|
||||||
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
public class PlayServices {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public PlayServices() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPlayServicesAvailable() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean refreshAndCheck() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resolve(Activity activity) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean clearToken(GoogleAccountCredential googleAccountCredential) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAuthToken(GtasksLoginActivity gtasksLoginActivity, String a, GtasksLoginActivity.AuthResultHandler authResultHandler) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,132 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.BeastModePreferences;
|
|
||||||
import com.todoroo.astrid.activity.ShareLinkActivity;
|
|
||||||
import com.todoroo.astrid.activity.TaskListActivity;
|
|
||||||
import com.todoroo.astrid.core.CustomFilterActivity;
|
|
||||||
import com.todoroo.astrid.core.DefaultsPreferences;
|
|
||||||
import com.todoroo.astrid.core.OldTaskPreferences;
|
|
||||||
import com.todoroo.astrid.files.AACRecordingActivity;
|
|
||||||
import com.todoroo.astrid.gcal.CalendarReminderActivity;
|
|
||||||
import com.todoroo.astrid.reminders.ReminderPreferences;
|
|
||||||
|
|
||||||
import org.tasks.activities.AddAttachmentActivity;
|
|
||||||
import org.tasks.activities.CalendarSelectionActivity;
|
|
||||||
import org.tasks.activities.CameraActivity;
|
|
||||||
import org.tasks.activities.ColorPickerActivity;
|
|
||||||
import org.tasks.activities.DateAndTimePickerActivity;
|
|
||||||
import org.tasks.activities.DatePickerActivity;
|
|
||||||
import org.tasks.activities.FilterSelectionActivity;
|
|
||||||
import org.tasks.activities.FilterSettingsActivity;
|
|
||||||
import org.tasks.activities.GoogleTaskListSettingsActivity;
|
|
||||||
import org.tasks.activities.TagSettingsActivity;
|
|
||||||
import org.tasks.activities.TimePickerActivity;
|
|
||||||
import org.tasks.caldav.CalDAVSettingsActivity;
|
|
||||||
import org.tasks.dashclock.DashClockSettings;
|
|
||||||
import org.tasks.files.FileExplore;
|
|
||||||
import org.tasks.files.MyFilePickerActivity;
|
|
||||||
import org.tasks.locale.ui.activity.TaskerCreateTaskActivity;
|
|
||||||
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
|
|
||||||
import org.tasks.preferences.AppearancePreferences;
|
|
||||||
import org.tasks.preferences.BasicPreferences;
|
|
||||||
import org.tasks.preferences.DateTimePreferences;
|
|
||||||
import org.tasks.preferences.HelpAndFeedbackActivity;
|
|
||||||
import org.tasks.preferences.MiscellaneousPreferences;
|
|
||||||
import org.tasks.reminders.MissedCallActivity;
|
|
||||||
import org.tasks.reminders.NotificationActivity;
|
|
||||||
import org.tasks.reminders.SnoozeActivity;
|
|
||||||
import org.tasks.themes.Theme;
|
|
||||||
import org.tasks.ui.TaskListViewModel;
|
|
||||||
import org.tasks.voice.VoiceCommandActivity;
|
|
||||||
import org.tasks.widget.ShortcutConfigActivity;
|
|
||||||
import org.tasks.widget.WidgetConfigActivity;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@ActivityScope
|
|
||||||
@Subcomponent(modules = ActivityModule.class)
|
|
||||||
public interface ActivityComponent {
|
|
||||||
Theme getTheme();
|
|
||||||
|
|
||||||
FragmentComponent plus(FragmentModule module);
|
|
||||||
|
|
||||||
DialogFragmentComponent plus(DialogFragmentModule dialogFragmentModule);
|
|
||||||
|
|
||||||
NativeDialogFragmentComponent plus(NativeDialogFragmentModule nativeDialogFragmentModule);
|
|
||||||
|
|
||||||
void inject(TaskerSettingsActivity taskerSettingsActivity);
|
|
||||||
|
|
||||||
void inject(DashClockSettings dashClockSettings);
|
|
||||||
|
|
||||||
void inject(AACRecordingActivity aacRecordingActivity);
|
|
||||||
|
|
||||||
void inject(CustomFilterActivity customFilterActivity);
|
|
||||||
|
|
||||||
void inject(CalendarReminderActivity calendarReminderActivity);
|
|
||||||
|
|
||||||
void inject(FilterSettingsActivity filterSettingsActivity);
|
|
||||||
|
|
||||||
void inject(TagSettingsActivity tagSettingsActivity);
|
|
||||||
|
|
||||||
void inject(ShareLinkActivity shareLinkActivity);
|
|
||||||
|
|
||||||
void inject(TaskListActivity taskListActivity);
|
|
||||||
|
|
||||||
void inject(BeastModePreferences beastModePreferences);
|
|
||||||
|
|
||||||
void inject(NotificationActivity notificationActivity);
|
|
||||||
|
|
||||||
void inject(SnoozeActivity snoozeActivity);
|
|
||||||
|
|
||||||
void inject(MissedCallActivity missedCallActivity);
|
|
||||||
|
|
||||||
void inject(FileExplore fileExplore);
|
|
||||||
|
|
||||||
void inject(CalendarSelectionActivity calendarSelectionActivity);
|
|
||||||
|
|
||||||
void inject(FilterSelectionActivity filterSelectionActivity);
|
|
||||||
|
|
||||||
void inject(DateAndTimePickerActivity dateAndTimePickerActivity);
|
|
||||||
|
|
||||||
void inject(AddAttachmentActivity addAttachmentActivity);
|
|
||||||
|
|
||||||
void inject(DatePickerActivity datePickerActivity);
|
|
||||||
|
|
||||||
void inject(CameraActivity cameraActivity);
|
|
||||||
|
|
||||||
void inject(TimePickerActivity timePickerActivity);
|
|
||||||
|
|
||||||
void inject(VoiceCommandActivity voiceCommandActivity);
|
|
||||||
|
|
||||||
void inject(ReminderPreferences reminderPreferences);
|
|
||||||
|
|
||||||
void inject(WidgetConfigActivity widgetConfigActivity);
|
|
||||||
|
|
||||||
void inject(OldTaskPreferences oldTaskPreferences);
|
|
||||||
|
|
||||||
void inject(DefaultsPreferences defaultsPreferences);
|
|
||||||
|
|
||||||
void inject(ShortcutConfigActivity shortcutConfigActivity);
|
|
||||||
|
|
||||||
void inject(MiscellaneousPreferences miscellaneousPreferences);
|
|
||||||
|
|
||||||
void inject(HelpAndFeedbackActivity helpAndFeedbackActivity);
|
|
||||||
|
|
||||||
void inject(DateTimePreferences dateTimePreferences);
|
|
||||||
|
|
||||||
void inject(AppearancePreferences appearancePreferences);
|
|
||||||
|
|
||||||
void inject(MyFilePickerActivity myFilePickerActivity);
|
|
||||||
|
|
||||||
void inject(ColorPickerActivity colorPickerActivity);
|
|
||||||
|
|
||||||
void inject(BasicPreferences basicPreferences);
|
|
||||||
|
|
||||||
void inject(GoogleTaskListSettingsActivity googleTaskListSettingsActivity);
|
|
||||||
|
|
||||||
void inject(CalDAVSettingsActivity calDAVSettingsActivity);
|
|
||||||
|
|
||||||
void inject(TaskerCreateTaskActivity taskerCreateTaskActivity);
|
|
||||||
|
|
||||||
void inject(TaskListViewModel viewModel);
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.Tasks;
|
|
||||||
import org.tasks.dashclock.DashClockExtension;
|
|
||||||
import org.tasks.widget.ScrollableWidgetUpdateService;
|
|
||||||
|
|
||||||
import dagger.Component;
|
|
||||||
|
|
||||||
@ApplicationScope
|
|
||||||
@Component(modules = ApplicationModule.class)
|
|
||||||
public interface ApplicationComponent {
|
|
||||||
void inject(DashClockExtension dashClockExtension);
|
|
||||||
|
|
||||||
void inject(Tasks tasks);
|
|
||||||
|
|
||||||
void inject(ScrollableWidgetUpdateService scrollableWidgetUpdateService);
|
|
||||||
|
|
||||||
ActivityComponent plus(ActivityModule module);
|
|
||||||
|
|
||||||
BroadcastComponent plus(BroadcastModule module);
|
|
||||||
|
|
||||||
IntentServiceComponent plus(IntentServiceModule module);
|
|
||||||
|
|
||||||
SyncAdapterComponent plus(SyncAdapterModule syncAdapterModule);
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.activities.CalendarSelectionDialog;
|
|
||||||
import org.tasks.activities.RemoteListSupportPicker;
|
|
||||||
import org.tasks.caldav.DeleteAccountDialog;
|
|
||||||
import org.tasks.dialogs.AddAttachmentDialog;
|
|
||||||
import org.tasks.dialogs.ColorPickerDialog;
|
|
||||||
import org.tasks.dialogs.RecordAudioDialog;
|
|
||||||
import org.tasks.dialogs.SortDialog;
|
|
||||||
import org.tasks.reminders.MissedCallDialog;
|
|
||||||
import org.tasks.reminders.NotificationDialog;
|
|
||||||
import org.tasks.reminders.SnoozeDialog;
|
|
||||||
import org.tasks.repeats.CustomRecurrenceDialog;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@Subcomponent(modules = DialogFragmentModule.class)
|
|
||||||
public interface DialogFragmentComponent {
|
|
||||||
void inject(NotificationDialog notificationDialog);
|
|
||||||
|
|
||||||
void inject(MissedCallDialog missedCallDialog);
|
|
||||||
|
|
||||||
void inject(CalendarSelectionDialog calendarSelectionDialog);
|
|
||||||
|
|
||||||
void inject(AddAttachmentDialog addAttachmentDialog);
|
|
||||||
|
|
||||||
void inject(SnoozeDialog snoozeDialog);
|
|
||||||
|
|
||||||
void inject(SortDialog sortDialog);
|
|
||||||
|
|
||||||
void inject(ColorPickerDialog colorPickerDialog);
|
|
||||||
|
|
||||||
void inject(RecordAudioDialog recordAudioDialog);
|
|
||||||
|
|
||||||
void inject(CustomRecurrenceDialog customRecurrenceDialog);
|
|
||||||
|
|
||||||
void inject(RemoteListSupportPicker remoteListSupportPicker);
|
|
||||||
|
|
||||||
void inject(DeleteAccountDialog deleteAccountDialog);
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.caldav.CalDAVSyncAdapter;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@Subcomponent(modules = SyncAdapterModule.class)
|
|
||||||
public interface SyncAdapterComponent {
|
|
||||||
void inject(CalDAVSyncAdapter calDAVSyncAdapter);
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
package org.tasks.receivers;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.data.Task;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class PushReceiver {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public PushReceiver() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void push(Task task, Task original) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
package org.tasks.sync;
|
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
|
|
||||||
import org.tasks.caldav.CaldavAccountManager;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class SyncAdapters {
|
|
||||||
private CaldavAccountManager caldavAccountManager;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public SyncAdapters(CaldavAccountManager caldavAccountManager) {
|
|
||||||
this.caldavAccountManager = caldavAccountManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean initiateManualSync() {
|
|
||||||
return caldavAccountManager.initiateManualSync();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void requestSynchronization() {
|
|
||||||
caldavAccountManager.requestSynchronization();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isGoogleTaskSyncEnabled() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void checkPlayServices(TaskListFragment taskListFragment) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isMasterSyncEnabled() {
|
|
||||||
return ContentResolver.getMasterSyncAutomatically();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSyncEnabled() {
|
|
||||||
return caldavAccountManager.getAccounts().size() > 0;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
package org.tasks.tasklist;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
import com.todoroo.astrid.api.GtasksFilter;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
|
|
||||||
public class GtasksListFragment extends TaskListFragment {
|
|
||||||
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package org.tasks.ui;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.api.Filter;
|
|
||||||
import com.todoroo.astrid.data.Task;
|
|
||||||
|
|
||||||
import org.tasks.R;
|
|
||||||
import org.tasks.injection.FragmentComponent;
|
|
||||||
|
|
||||||
public class RemoteListFragment extends TaskEditControlFragment {
|
|
||||||
public static final int TAG = R.string.TEA_ctrl_google_task_list;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getLayout() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getIcon() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int controlId() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void apply(Task task) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void inject(FragmentComponent component) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setList(Filter filter) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="sku_themes">themes</string>
|
<string name="sku_themes">themes</string>
|
||||||
|
<string name="common_google_play_services_notification_ticker">Google Play services error</string>
|
||||||
</resources>
|
</resources>
|
@ -1,23 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.api.Filter;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class GtasksFilterExposer {
|
|
||||||
@Inject
|
|
||||||
public GtasksFilterExposer() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Filter> getFilters() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Filter getFilter(long aLong) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class GtasksListService {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public GtasksListService() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GoogleTaskList> getLists() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoogleTaskList getList(long storeId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoogleTaskList getList(String remoteId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
package com.todoroo.astrid.gtasks;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
import com.todoroo.astrid.api.GtasksFilter;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
import org.tasks.tasklist.GtasksListFragment;
|
|
||||||
|
|
||||||
public class GtasksSubtaskListFragment extends GtasksListFragment {
|
|
||||||
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
package org.tasks;
|
|
||||||
|
|
||||||
import android.accounts.Account;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class AccountManager {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public AccountManager() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<String> getAccounts() {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Account getAccount(String userName) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
package org.tasks.activities;
|
|
||||||
|
|
||||||
public class GoogleTaskListSettingsActivity {
|
|
||||||
}
|
|
@ -0,0 +1,40 @@
|
|||||||
|
package org.tasks.gtasks;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
|
||||||
|
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
|
||||||
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
public class PlayServices {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public PlayServices() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPlayServicesAvailable() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean refreshAndCheck() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resolve(Activity activity) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean clearToken(GoogleAccountCredential googleAccountCredential) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAuthToken(GtasksLoginActivity gtasksLoginActivity, String a, GtasksLoginActivity.AuthResultHandler authResultHandler) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,132 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.BeastModePreferences;
|
|
||||||
import com.todoroo.astrid.activity.ShareLinkActivity;
|
|
||||||
import com.todoroo.astrid.activity.TaskListActivity;
|
|
||||||
import com.todoroo.astrid.core.CustomFilterActivity;
|
|
||||||
import com.todoroo.astrid.core.DefaultsPreferences;
|
|
||||||
import com.todoroo.astrid.core.OldTaskPreferences;
|
|
||||||
import com.todoroo.astrid.files.AACRecordingActivity;
|
|
||||||
import com.todoroo.astrid.gcal.CalendarReminderActivity;
|
|
||||||
import com.todoroo.astrid.reminders.ReminderPreferences;
|
|
||||||
|
|
||||||
import org.tasks.activities.AddAttachmentActivity;
|
|
||||||
import org.tasks.activities.CalendarSelectionActivity;
|
|
||||||
import org.tasks.activities.CameraActivity;
|
|
||||||
import org.tasks.activities.ColorPickerActivity;
|
|
||||||
import org.tasks.activities.DateAndTimePickerActivity;
|
|
||||||
import org.tasks.activities.DatePickerActivity;
|
|
||||||
import org.tasks.activities.FilterSelectionActivity;
|
|
||||||
import org.tasks.activities.FilterSettingsActivity;
|
|
||||||
import org.tasks.activities.GoogleTaskListSettingsActivity;
|
|
||||||
import org.tasks.activities.TagSettingsActivity;
|
|
||||||
import org.tasks.activities.TimePickerActivity;
|
|
||||||
import org.tasks.caldav.CalDAVSettingsActivity;
|
|
||||||
import org.tasks.dashclock.DashClockSettings;
|
|
||||||
import org.tasks.files.FileExplore;
|
|
||||||
import org.tasks.files.MyFilePickerActivity;
|
|
||||||
import org.tasks.locale.ui.activity.TaskerCreateTaskActivity;
|
|
||||||
import org.tasks.locale.ui.activity.TaskerSettingsActivity;
|
|
||||||
import org.tasks.preferences.AppearancePreferences;
|
|
||||||
import org.tasks.preferences.BasicPreferences;
|
|
||||||
import org.tasks.preferences.DateTimePreferences;
|
|
||||||
import org.tasks.preferences.HelpAndFeedbackActivity;
|
|
||||||
import org.tasks.preferences.MiscellaneousPreferences;
|
|
||||||
import org.tasks.reminders.MissedCallActivity;
|
|
||||||
import org.tasks.reminders.NotificationActivity;
|
|
||||||
import org.tasks.reminders.SnoozeActivity;
|
|
||||||
import org.tasks.themes.Theme;
|
|
||||||
import org.tasks.ui.TaskListViewModel;
|
|
||||||
import org.tasks.voice.VoiceCommandActivity;
|
|
||||||
import org.tasks.widget.ShortcutConfigActivity;
|
|
||||||
import org.tasks.widget.WidgetConfigActivity;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@ActivityScope
|
|
||||||
@Subcomponent(modules = ActivityModule.class)
|
|
||||||
public interface ActivityComponent {
|
|
||||||
Theme getTheme();
|
|
||||||
|
|
||||||
FragmentComponent plus(FragmentModule module);
|
|
||||||
|
|
||||||
DialogFragmentComponent plus(DialogFragmentModule dialogFragmentModule);
|
|
||||||
|
|
||||||
NativeDialogFragmentComponent plus(NativeDialogFragmentModule nativeDialogFragmentModule);
|
|
||||||
|
|
||||||
void inject(TaskerSettingsActivity taskerSettingsActivity);
|
|
||||||
|
|
||||||
void inject(DashClockSettings dashClockSettings);
|
|
||||||
|
|
||||||
void inject(AACRecordingActivity aacRecordingActivity);
|
|
||||||
|
|
||||||
void inject(CustomFilterActivity customFilterActivity);
|
|
||||||
|
|
||||||
void inject(CalendarReminderActivity calendarReminderActivity);
|
|
||||||
|
|
||||||
void inject(FilterSettingsActivity filterSettingsActivity);
|
|
||||||
|
|
||||||
void inject(TagSettingsActivity tagSettingsActivity);
|
|
||||||
|
|
||||||
void inject(ShareLinkActivity shareLinkActivity);
|
|
||||||
|
|
||||||
void inject(TaskListActivity taskListActivity);
|
|
||||||
|
|
||||||
void inject(BeastModePreferences beastModePreferences);
|
|
||||||
|
|
||||||
void inject(NotificationActivity notificationActivity);
|
|
||||||
|
|
||||||
void inject(SnoozeActivity snoozeActivity);
|
|
||||||
|
|
||||||
void inject(MissedCallActivity missedCallActivity);
|
|
||||||
|
|
||||||
void inject(FileExplore fileExplore);
|
|
||||||
|
|
||||||
void inject(CalendarSelectionActivity calendarSelectionActivity);
|
|
||||||
|
|
||||||
void inject(FilterSelectionActivity filterSelectionActivity);
|
|
||||||
|
|
||||||
void inject(DateAndTimePickerActivity dateAndTimePickerActivity);
|
|
||||||
|
|
||||||
void inject(AddAttachmentActivity addAttachmentActivity);
|
|
||||||
|
|
||||||
void inject(DatePickerActivity datePickerActivity);
|
|
||||||
|
|
||||||
void inject(CameraActivity cameraActivity);
|
|
||||||
|
|
||||||
void inject(TimePickerActivity timePickerActivity);
|
|
||||||
|
|
||||||
void inject(VoiceCommandActivity voiceCommandActivity);
|
|
||||||
|
|
||||||
void inject(ReminderPreferences reminderPreferences);
|
|
||||||
|
|
||||||
void inject(WidgetConfigActivity widgetConfigActivity);
|
|
||||||
|
|
||||||
void inject(OldTaskPreferences oldTaskPreferences);
|
|
||||||
|
|
||||||
void inject(DefaultsPreferences defaultsPreferences);
|
|
||||||
|
|
||||||
void inject(ShortcutConfigActivity shortcutConfigActivity);
|
|
||||||
|
|
||||||
void inject(MiscellaneousPreferences miscellaneousPreferences);
|
|
||||||
|
|
||||||
void inject(HelpAndFeedbackActivity helpAndFeedbackActivity);
|
|
||||||
|
|
||||||
void inject(DateTimePreferences dateTimePreferences);
|
|
||||||
|
|
||||||
void inject(AppearancePreferences appearancePreferences);
|
|
||||||
|
|
||||||
void inject(MyFilePickerActivity myFilePickerActivity);
|
|
||||||
|
|
||||||
void inject(ColorPickerActivity colorPickerActivity);
|
|
||||||
|
|
||||||
void inject(BasicPreferences basicPreferences);
|
|
||||||
|
|
||||||
void inject(GoogleTaskListSettingsActivity googleTaskListSettingsActivity);
|
|
||||||
|
|
||||||
void inject(CalDAVSettingsActivity calDAVSettingsActivity);
|
|
||||||
|
|
||||||
void inject(TaskerCreateTaskActivity taskerCreateTaskActivity);
|
|
||||||
|
|
||||||
void inject(TaskListViewModel viewModel);
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.Tasks;
|
|
||||||
import org.tasks.dashclock.DashClockExtension;
|
|
||||||
import org.tasks.widget.ScrollableWidgetUpdateService;
|
|
||||||
|
|
||||||
import dagger.Component;
|
|
||||||
|
|
||||||
@ApplicationScope
|
|
||||||
@Component(modules = ApplicationModule.class)
|
|
||||||
public interface ApplicationComponent {
|
|
||||||
void inject(DashClockExtension dashClockExtension);
|
|
||||||
|
|
||||||
void inject(Tasks tasks);
|
|
||||||
|
|
||||||
void inject(ScrollableWidgetUpdateService scrollableWidgetUpdateService);
|
|
||||||
|
|
||||||
ActivityComponent plus(ActivityModule module);
|
|
||||||
|
|
||||||
BroadcastComponent plus(BroadcastModule module);
|
|
||||||
|
|
||||||
IntentServiceComponent plus(IntentServiceModule module);
|
|
||||||
|
|
||||||
SyncAdapterComponent plus(SyncAdapterModule syncAdapterModule);
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.activities.CalendarSelectionDialog;
|
|
||||||
import org.tasks.activities.RemoteListSupportPicker;
|
|
||||||
import org.tasks.caldav.DeleteAccountDialog;
|
|
||||||
import org.tasks.dialogs.AddAttachmentDialog;
|
|
||||||
import org.tasks.dialogs.ColorPickerDialog;
|
|
||||||
import org.tasks.dialogs.RecordAudioDialog;
|
|
||||||
import org.tasks.dialogs.SortDialog;
|
|
||||||
import org.tasks.reminders.MissedCallDialog;
|
|
||||||
import org.tasks.reminders.NotificationDialog;
|
|
||||||
import org.tasks.reminders.SnoozeDialog;
|
|
||||||
import org.tasks.repeats.CustomRecurrenceDialog;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@Subcomponent(modules = DialogFragmentModule.class)
|
|
||||||
public interface DialogFragmentComponent {
|
|
||||||
void inject(NotificationDialog notificationDialog);
|
|
||||||
|
|
||||||
void inject(MissedCallDialog missedCallDialog);
|
|
||||||
|
|
||||||
void inject(CalendarSelectionDialog calendarSelectionDialog);
|
|
||||||
|
|
||||||
void inject(AddAttachmentDialog addAttachmentDialog);
|
|
||||||
|
|
||||||
void inject(SnoozeDialog snoozeDialog);
|
|
||||||
|
|
||||||
void inject(SortDialog sortDialog);
|
|
||||||
|
|
||||||
void inject(ColorPickerDialog colorPickerDialog);
|
|
||||||
|
|
||||||
void inject(RecordAudioDialog recordAudioDialog);
|
|
||||||
|
|
||||||
void inject(CustomRecurrenceDialog customRecurrenceDialog);
|
|
||||||
|
|
||||||
void inject(RemoteListSupportPicker remoteListSupportPicker);
|
|
||||||
|
|
||||||
void inject(DeleteAccountDialog deleteAccountDialog);
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
package org.tasks.injection;
|
|
||||||
|
|
||||||
import org.tasks.caldav.CalDAVSyncAdapter;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@Subcomponent(modules = SyncAdapterModule.class)
|
|
||||||
public interface SyncAdapterComponent {
|
|
||||||
void inject(CalDAVSyncAdapter calDAVSyncAdapter);
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
package org.tasks.receivers;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.data.Task;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class PushReceiver {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public PushReceiver() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void push(Task task, Task original) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
package org.tasks.sync;
|
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
|
|
||||||
import org.tasks.caldav.CaldavAccountManager;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class SyncAdapters {
|
|
||||||
private CaldavAccountManager caldavAccountManager;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public SyncAdapters(CaldavAccountManager caldavAccountManager) {
|
|
||||||
this.caldavAccountManager = caldavAccountManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean initiateManualSync() {
|
|
||||||
return caldavAccountManager.initiateManualSync();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void requestSynchronization() {
|
|
||||||
caldavAccountManager.requestSynchronization();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isGoogleTaskSyncEnabled() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void checkPlayServices(TaskListFragment taskListFragment) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isMasterSyncEnabled() {
|
|
||||||
return ContentResolver.getMasterSyncAutomatically();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSyncEnabled() {
|
|
||||||
return caldavAccountManager.getAccounts().size() > 0;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
package org.tasks.tasklist;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
import com.todoroo.astrid.api.GtasksFilter;
|
|
||||||
|
|
||||||
import org.tasks.data.GoogleTaskList;
|
|
||||||
|
|
||||||
public class GtasksListFragment extends TaskListFragment {
|
|
||||||
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package org.tasks.ui;
|
|
||||||
|
|
||||||
import com.todoroo.astrid.api.Filter;
|
|
||||||
import com.todoroo.astrid.data.Task;
|
|
||||||
|
|
||||||
import org.tasks.R;
|
|
||||||
import org.tasks.injection.FragmentComponent;
|
|
||||||
|
|
||||||
public class RemoteListFragment extends TaskEditControlFragment {
|
|
||||||
public static final int TAG = R.string.TEA_ctrl_google_task_list;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getLayout() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getIcon() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int controlId() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void apply(Task task) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void inject(FragmentComponent component) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setList(Filter filter) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="sku_themes">themes</string>
|
<string name="sku_themes">themes</string>
|
||||||
|
<string name="common_google_play_services_notification_ticker">Google Play services error</string>
|
||||||
</resources>
|
</resources>
|
@ -0,0 +1,115 @@
|
|||||||
|
package org.tasks.gtasks;
|
||||||
|
|
||||||
|
import android.accounts.Account;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.google.android.gms.auth.GoogleAuthException;
|
||||||
|
import com.google.android.gms.auth.GoogleAuthUtil;
|
||||||
|
import com.google.android.gms.auth.UserRecoverableAuthException;
|
||||||
|
import com.google.android.gms.common.ConnectionResult;
|
||||||
|
import com.google.android.gms.common.GoogleApiAvailability;
|
||||||
|
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
|
||||||
|
import com.google.api.services.tasks.TasksScopes;
|
||||||
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
|
||||||
|
|
||||||
|
import org.tasks.R;
|
||||||
|
import org.tasks.injection.ForApplication;
|
||||||
|
import org.tasks.preferences.Preferences;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import timber.log.Timber;
|
||||||
|
|
||||||
|
public class PlayServices {
|
||||||
|
|
||||||
|
private static final int REQUEST_RESOLUTION = 10000;
|
||||||
|
|
||||||
|
private final Context context;
|
||||||
|
private final Preferences preferences;
|
||||||
|
private final GoogleAccountManager accountManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public PlayServices(@ForApplication Context context, Preferences preferences,
|
||||||
|
GoogleAccountManager googleAccountManager) {
|
||||||
|
this.context = context;
|
||||||
|
this.preferences = preferences;
|
||||||
|
this.accountManager = googleAccountManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean refreshAndCheck() {
|
||||||
|
refresh();
|
||||||
|
return isPlayServicesAvailable();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPlayServicesAvailable() {
|
||||||
|
return getResult() == ConnectionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refresh() {
|
||||||
|
GoogleApiAvailability instance = GoogleApiAvailability.getInstance();
|
||||||
|
int googlePlayServicesAvailable = instance.isGooglePlayServicesAvailable(context);
|
||||||
|
preferences.setInt(R.string.play_services_available, googlePlayServicesAvailable);
|
||||||
|
if (googlePlayServicesAvailable == ConnectionResult.SUCCESS) {
|
||||||
|
preferences.setBoolean(R.string.warned_play_services, false);
|
||||||
|
}
|
||||||
|
Timber.d(getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resolve(Activity activity) {
|
||||||
|
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
|
||||||
|
int error = preferences.getInt(R.string.play_services_available, -1);
|
||||||
|
if (googleApiAvailability.isUserResolvableError(error)) {
|
||||||
|
googleApiAvailability.getErrorDialog(activity, error, REQUEST_RESOLUTION).show();
|
||||||
|
} else {
|
||||||
|
Toast.makeText(activity, R.string.common_google_play_services_notification_ticker, Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return GoogleApiAvailability.getInstance().getErrorString(getResult());
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getResult() {
|
||||||
|
return preferences.getInt(R.string.play_services_available, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean clearToken(GoogleAccountCredential credential){
|
||||||
|
try {
|
||||||
|
String token = credential.getToken();
|
||||||
|
Timber.d("Invalidating %s", token);
|
||||||
|
GoogleAuthUtil.clearToken(context, token);
|
||||||
|
GoogleAuthUtil.getToken(context, credential.getSelectedAccount(), "oauth2:" + TasksScopes.TASKS, null);
|
||||||
|
return true;
|
||||||
|
} catch (GoogleAuthException e) {
|
||||||
|
Timber.e(e, e.getMessage());
|
||||||
|
return false;
|
||||||
|
} catch (IOException e) {
|
||||||
|
Timber.e(e, e.getMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAuthToken(final Activity activity, final String accountName, final GtasksLoginActivity.AuthResultHandler handler) {
|
||||||
|
final Account account = accountManager.getAccount(accountName);
|
||||||
|
if (account == null) {
|
||||||
|
handler.authenticationFailed(activity.getString(R.string.gtasks_error_accountNotFound, accountName));
|
||||||
|
} else {
|
||||||
|
new Thread(() -> {
|
||||||
|
try {
|
||||||
|
GoogleAuthUtil.getToken(activity, account, "oauth2:" + TasksScopes.TASKS, null);
|
||||||
|
handler.authenticationSuccessful(accountName);
|
||||||
|
} catch(UserRecoverableAuthException e) {
|
||||||
|
Timber.e(e, e.getMessage());
|
||||||
|
activity.startActivityForResult(e.getIntent(), GtasksLoginActivity.RC_REQUEST_OAUTH);
|
||||||
|
} catch(GoogleAuthException | IOException e) {
|
||||||
|
Timber.e(e, e.getMessage());
|
||||||
|
handler.authenticationFailed(activity.getString(R.string.gtasks_GLA_errorIOAuth));
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,67 +0,0 @@
|
|||||||
package org.tasks.gtasks;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import com.google.android.gms.common.ConnectionResult;
|
|
||||||
import com.google.android.gms.common.GoogleApiAvailability;
|
|
||||||
|
|
||||||
import org.tasks.R;
|
|
||||||
import org.tasks.injection.ForApplication;
|
|
||||||
import org.tasks.preferences.Preferences;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import timber.log.Timber;
|
|
||||||
|
|
||||||
public class PlayServicesAvailability {
|
|
||||||
|
|
||||||
private static final int REQUEST_RESOLUTION = 10000;
|
|
||||||
|
|
||||||
private final Context context;
|
|
||||||
private final Preferences preferences;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public PlayServicesAvailability(@ForApplication Context context, Preferences preferences) {
|
|
||||||
this.context = context;
|
|
||||||
this.preferences = preferences;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean refreshAndCheck() {
|
|
||||||
refresh();
|
|
||||||
return isPlayServicesAvailable();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPlayServicesAvailable() {
|
|
||||||
return getResult() == ConnectionResult.SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void refresh() {
|
|
||||||
GoogleApiAvailability instance = GoogleApiAvailability.getInstance();
|
|
||||||
int googlePlayServicesAvailable = instance.isGooglePlayServicesAvailable(context);
|
|
||||||
preferences.setInt(R.string.play_services_available, googlePlayServicesAvailable);
|
|
||||||
if (googlePlayServicesAvailable == ConnectionResult.SUCCESS) {
|
|
||||||
preferences.setBoolean(R.string.warned_play_services, false);
|
|
||||||
}
|
|
||||||
Timber.d(getStatus());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void resolve(Activity activity) {
|
|
||||||
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
|
|
||||||
int error = preferences.getInt(R.string.play_services_available, -1);
|
|
||||||
if (googleApiAvailability.isUserResolvableError(error)) {
|
|
||||||
googleApiAvailability.getErrorDialog(activity, error, REQUEST_RESOLUTION).show();
|
|
||||||
} else {
|
|
||||||
Toast.makeText(activity, R.string.common_google_play_services_notification_ticker, Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStatus() {
|
|
||||||
return GoogleApiAvailability.getInstance().getErrorString(getResult());
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getResult() {
|
|
||||||
return preferences.getInt(R.string.play_services_available, -1);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue