浏览代码

Acquire wakelocks to make sure all is good

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 8 年之前
父节点
当前提交
441e5c7511

+ 9 - 0
src/main/java/com/owncloud/android/jobs/AutoUploadJob.java

@@ -24,6 +24,7 @@ package com.owncloud.android.jobs;
 
 import android.accounts.Account;
 import android.content.Context;
+import android.os.PowerManager;
 import android.support.annotation.NonNull;
 
 import com.evernote.android.job.Job;
@@ -47,7 +48,14 @@ public class AutoUploadJob extends Job {
     @NonNull
     @Override
     protected Result onRunJob(Params params) {
+
         final Context context = MainApp.getAppContext();
+
+        PowerManager powerManager = (PowerManager) context.getSystemService(context.POWER_SERVICE);
+        PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+                TAG);
+        wakeLock.acquire();
+
         PersistableBundleCompat bundle = params.getExtras();
         final String filePath = bundle.getString(LOCAL_PATH, "");
         final String remotePath = bundle.getString(REMOTE_PATH, "");
@@ -76,6 +84,7 @@ public class AutoUploadJob extends Job {
         }
 
 
+        wakeLock.release();
         return Result.SUCCESS;
     }
 }

+ 10 - 0
src/main/java/com/owncloud/android/jobs/NewAutoUploadJob.java

@@ -23,6 +23,7 @@ package com.owncloud.android.jobs;
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.os.PowerManager;
 import android.support.annotation.NonNull;
 import android.util.Log;
 
@@ -62,9 +63,16 @@ public class NewAutoUploadJob extends Job {
     @NonNull
     @Override
     protected Result onRunJob(Params params) {
+
         final Context context = MainApp.getAppContext();
         final ContentResolver contentResolver = context.getContentResolver();
 
+        PowerManager powerManager = (PowerManager) context.getSystemService(context.POWER_SERVICE);
+        PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+                TAG);
+        wakeLock.acquire();
+
+
         // Create all the providers we'll need
         ArbitraryDataProvider arbitraryDataProvider = new ArbitraryDataProvider(contentResolver);
         final FilesystemDataProvider filesystemDataProvider = new FilesystemDataProvider(contentResolver);
@@ -114,6 +122,8 @@ public class NewAutoUploadJob extends Job {
                 Log.d(TAG, "Something went wrong while indexing files for auto upload");
             }
         }
+
+        wakeLock.release();
         return Result.SUCCESS;
     }
 }