~williamvds/taskwarrior-android

2f465f22cf87f38f2069f87a2cac5c6e2baad713 — williamvds 4 years ago 208d6c7
Convert SyncIntentReceiver to Kotlin
2 files changed, 44 insertions(+), 50 deletions(-)

D app/src/main/java/kvj/taskw/data/SyncIntentReceiver.java
A app/src/main/java/kvj/taskw/data/SyncIntentReceiver.kt
D app/src/main/java/kvj/taskw/data/SyncIntentReceiver.java => app/src/main/java/kvj/taskw/data/SyncIntentReceiver.java +0 -50
@@ 1,50 0,0 @@
package kvj.taskw.data;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.text.TextUtils;

import org.kvj.bravo7.util.Tasks;

import timber.log.Timber;

import kvj.taskw.App;

/**
 * Created by vorobyev on 11/25/15.
 */
public class SyncIntentReceiver extends BroadcastReceiver {

    Controller controller = App.controller();

    @Override
    public void onReceive(final Context context, final Intent intent) {
        // Lock and run sync
        final PowerManager.WakeLock lock = controller.lock();
        lock.acquire(10*60*1000L);
        Timber.d("Sync from receiver: %s", intent.getData());
        new Tasks.SimpleTask<String>() {

            @Override
            protected String doInBackground() {
                String account = intent.getStringExtra(App.KEY_ACCOUNT);
                if (TextUtils.isEmpty(account)) {
                    account = controller.currentAccount();
                }
                return controller.accountController(account).taskSync();
            }

            @Override
            protected void onPostExecute(String s) {
                Timber.d("Sync from receiver done: %s", s);
                if (null != s) {
                    // Failed
                    controller.messageShort(s);
                }
                lock.release();
            }
        }.exec();
    }
}

A app/src/main/java/kvj/taskw/data/SyncIntentReceiver.kt => app/src/main/java/kvj/taskw/data/SyncIntentReceiver.kt +44 -0
@@ 0,0 1,44 @@
package kvj.taskw.data

import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.text.TextUtils

import timber.log.Timber

import org.kvj.bravo7.util.Tasks

import kvj.taskw.App

class SyncIntentReceiver : BroadcastReceiver() {
    internal var controller = App.controller<Controller>()

    override fun onReceive(context: Context, intent: Intent) {
        // Lock and run sync
        val lock = controller.lock()
        lock.acquire(10 * 60 * 1000L)

        Timber.d("Sync from receiver: %s", intent.data)

        object : Tasks.SimpleTask<String>() {

            override fun doInBackground(): String? {
                var account: String? = intent.getStringExtra(App.KEY_ACCOUNT)
                if (TextUtils.isEmpty(account)) {
                    account = controller.currentAccount()
                }
                return controller.accountController(account).taskSync()
            }

            override fun onPostExecute(s: String?) {
                Timber.d("Sync from receiver done: %s", s)
                if (null != s) {
                    // Failed
                    controller.messageShort(s)
                }
                lock.release()
            }
        }.exec()
    }
}