mirror of
https://github.com/nextcloud/android.git
synced 2024-11-23 13:45:35 +03:00
Merge pull request #4171 from ezaquarii/fix-broken-di-on-older-devices
Remove DI from NContentObserverJob
This commit is contained in:
commit
908ce747a0
4 changed files with 28 additions and 18 deletions
|
@ -27,10 +27,8 @@ import com.owncloud.android.authentication.DeepLinkLoginActivity;
|
||||||
import com.owncloud.android.files.BootupBroadcastReceiver;
|
import com.owncloud.android.files.BootupBroadcastReceiver;
|
||||||
import com.owncloud.android.files.services.FileDownloader;
|
import com.owncloud.android.files.services.FileDownloader;
|
||||||
import com.owncloud.android.files.services.FileUploader;
|
import com.owncloud.android.files.services.FileUploader;
|
||||||
import com.owncloud.android.jobs.NContentObserverJob;
|
|
||||||
import com.owncloud.android.jobs.NotificationJob;
|
import com.owncloud.android.jobs.NotificationJob;
|
||||||
import com.owncloud.android.providers.DiskLruImageCacheFileProvider;
|
import com.owncloud.android.providers.DiskLruImageCacheFileProvider;
|
||||||
import com.owncloud.android.providers.DocumentsStorageProvider;
|
|
||||||
import com.owncloud.android.providers.UsersAndGroupsSearchProvider;
|
import com.owncloud.android.providers.UsersAndGroupsSearchProvider;
|
||||||
import com.owncloud.android.services.AccountManagerService;
|
import com.owncloud.android.services.AccountManagerService;
|
||||||
import com.owncloud.android.services.OperationsService;
|
import com.owncloud.android.services.OperationsService;
|
||||||
|
@ -145,11 +143,9 @@ abstract class ComponentsModule {
|
||||||
@ContributesAndroidInjector abstract BootupBroadcastReceiver bootupBroadcastReceiver();
|
@ContributesAndroidInjector abstract BootupBroadcastReceiver bootupBroadcastReceiver();
|
||||||
@ContributesAndroidInjector abstract NotificationJob.NotificationReceiver notificationJobBroadcastReceiver();
|
@ContributesAndroidInjector abstract NotificationJob.NotificationReceiver notificationJobBroadcastReceiver();
|
||||||
|
|
||||||
@ContributesAndroidInjector abstract DocumentsStorageProvider documentsStorageProvider();
|
|
||||||
@ContributesAndroidInjector abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider();
|
@ContributesAndroidInjector abstract UsersAndGroupsSearchProvider usersAndGroupsSearchProvider();
|
||||||
@ContributesAndroidInjector abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider();
|
@ContributesAndroidInjector abstract DiskLruImageCacheFileProvider diskLruImageCacheFileProvider();
|
||||||
|
|
||||||
@ContributesAndroidInjector abstract AccountManagerService accountManagerService();
|
@ContributesAndroidInjector abstract AccountManagerService accountManagerService();
|
||||||
@ContributesAndroidInjector abstract OperationsService operationsService();
|
@ContributesAndroidInjector abstract OperationsService operationsService();
|
||||||
@ContributesAndroidInjector abstract NContentObserverJob contentObserverJob();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,6 +175,22 @@ public class MainApp extends MultiDexApplication implements
|
||||||
mContext = context;
|
mContext = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Temporary getter replacing Dagger DI
|
||||||
|
* TODO: remove when cleaning DI in NContentObserverJob
|
||||||
|
*/
|
||||||
|
public AppPreferences getPreferences() {
|
||||||
|
return preferences;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Temporary getter replacing Dagger DI
|
||||||
|
* TODO: remove when cleaning DI in NContentObserverJob
|
||||||
|
*/
|
||||||
|
public PowerManagementService getPowerManagementService() {
|
||||||
|
return powerManagementService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void attachBaseContext(Context base) {
|
protected void attachBaseContext(Context base) {
|
||||||
super.attachBaseContext(base);
|
super.attachBaseContext(base);
|
||||||
|
|
|
@ -29,13 +29,11 @@ import com.evernote.android.job.JobRequest;
|
||||||
import com.evernote.android.job.util.support.PersistableBundleCompat;
|
import com.evernote.android.job.util.support.PersistableBundleCompat;
|
||||||
import com.nextcloud.client.device.PowerManagementService;
|
import com.nextcloud.client.device.PowerManagementService;
|
||||||
import com.nextcloud.client.preferences.AppPreferences;
|
import com.nextcloud.client.preferences.AppPreferences;
|
||||||
|
import com.owncloud.android.MainApp;
|
||||||
import com.owncloud.android.datamodel.SyncedFolderProvider;
|
import com.owncloud.android.datamodel.SyncedFolderProvider;
|
||||||
import com.owncloud.android.utils.FilesSyncHelper;
|
import com.owncloud.android.utils.FilesSyncHelper;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import dagger.android.AndroidInjection;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Job that triggers new FilesSyncJob in case new photo or video were detected
|
Job that triggers new FilesSyncJob in case new photo or video were detected
|
||||||
|
@ -44,13 +42,18 @@ import dagger.android.AndroidInjection;
|
||||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||||
public class NContentObserverJob extends JobService {
|
public class NContentObserverJob extends JobService {
|
||||||
|
|
||||||
@Inject PowerManagementService powerManagementService;
|
private PowerManagementService powerManagementService;
|
||||||
@Inject AppPreferences preferences;
|
private AppPreferences preferences;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
AndroidInjection.inject(this);
|
|
||||||
|
// Temporary workaround for https://github.com/nextcloud/android/issues/4147
|
||||||
|
// TODO: this must be fixed properly
|
||||||
|
MainApp app = (MainApp) getApplication();
|
||||||
|
powerManagementService = app.getPowerManagementService();
|
||||||
|
preferences = app.getPreferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -46,6 +46,7 @@ import android.widget.Toast;
|
||||||
import com.evernote.android.job.JobRequest;
|
import com.evernote.android.job.JobRequest;
|
||||||
import com.evernote.android.job.util.Device;
|
import com.evernote.android.job.util.Device;
|
||||||
import com.nextcloud.client.account.UserAccountManager;
|
import com.nextcloud.client.account.UserAccountManager;
|
||||||
|
import com.nextcloud.client.account.UserAccountManagerImpl;
|
||||||
import com.nextcloud.client.preferences.AppPreferences;
|
import com.nextcloud.client.preferences.AppPreferences;
|
||||||
import com.nextcloud.client.preferences.AppPreferencesImpl;
|
import com.nextcloud.client.preferences.AppPreferencesImpl;
|
||||||
import com.owncloud.android.MainApp;
|
import com.owncloud.android.MainApp;
|
||||||
|
@ -84,10 +85,6 @@ import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import dagger.android.AndroidInjection;
|
|
||||||
|
|
||||||
import static com.owncloud.android.datamodel.OCFile.PATH_SEPARATOR;
|
import static com.owncloud.android.datamodel.OCFile.PATH_SEPARATOR;
|
||||||
import static com.owncloud.android.datamodel.OCFile.ROOT_PATH;
|
import static com.owncloud.android.datamodel.OCFile.ROOT_PATH;
|
||||||
|
|
||||||
|
@ -100,9 +97,7 @@ public class DocumentsStorageProvider extends DocumentsProvider {
|
||||||
private Map<Long, FileDataStorageManager> rootIdToStorageManager;
|
private Map<Long, FileDataStorageManager> rootIdToStorageManager;
|
||||||
private OwnCloudClient client;
|
private OwnCloudClient client;
|
||||||
|
|
||||||
@Inject UserAccountManager accountManager;
|
UserAccountManager accountManager;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Cursor queryRoots(String[] projection) throws FileNotFoundException {
|
public Cursor queryRoots(String[] projection) throws FileNotFoundException {
|
||||||
|
@ -301,7 +296,7 @@ public class DocumentsStorageProvider extends DocumentsProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreate() {
|
public boolean onCreate() {
|
||||||
AndroidInjection.inject(this);
|
accountManager = UserAccountManagerImpl.fromContext(getContext());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue