From dba4987b604acb914e8461bd2d18b0318f53d531 Mon Sep 17 00:00:00 2001 From: Levi Bostian Date: Wed, 14 Feb 2018 18:36:39 -0600 Subject: [PATCH 01/11] Example app and library working where it can create tasks and run them. --- .idea/misc.xml | 2 +- .idea/modules.xml | 2 - app/build.gradle | 1 + .../wendyexample/FooPendingTask.kt | 19 ++++++++-- .../wendyexample/MainActivity.java | 24 ------------ .../levibostian/wendyexample/MainActivity.kt | 36 ++++++++++++++++++ .../wendyexample/MainApplication.kt | 2 + app/src/main/res/layout/activity_main.xml | 37 +++++++++++++++++-- .../java/com/levibostian/wendy/WendyConfig.kt | 10 +++++ .../levibostian/wendy/service/PendingTask.kt | 12 ++++-- .../levibostian/wendy/service/PendingTasks.kt | 27 +++++++++++--- .../wendy/service/PendingTasksManager.kt | 35 +++++++++++++++--- .../wendy/service/PendingTasksRunner.kt | 20 ++++++++++ .../com/levibostian/wendy/util/LogUtil.kt | 14 +++++++ 14 files changed, 193 insertions(+), 48 deletions(-) delete mode 100644 app/src/main/java/com/levibostian/wendyexample/MainActivity.java create mode 100644 app/src/main/java/com/levibostian/wendyexample/MainActivity.kt create mode 100644 wendy/src/main/java/com/levibostian/wendy/WendyConfig.kt create mode 100644 wendy/src/main/java/com/levibostian/wendy/util/LogUtil.kt diff --git a/.idea/misc.xml b/.idea/misc.xml index ba7052b..635999d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,7 @@ - + diff --git a/.idea/modules.xml b/.idea/modules.xml index 933bb24..90add40 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -5,8 +5,6 @@ - - diff --git a/app/build.gradle b/app/build.gradle index fba1679..87224f6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,6 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 27 diff --git a/app/src/main/java/com/levibostian/wendyexample/FooPendingTask.kt b/app/src/main/java/com/levibostian/wendyexample/FooPendingTask.kt index 94ab224..ad114e1 100644 --- a/app/src/main/java/com/levibostian/wendyexample/FooPendingTask.kt +++ b/app/src/main/java/com/levibostian/wendyexample/FooPendingTask.kt @@ -1,16 +1,29 @@ package com.levibostian.wendyexample +import android.os.Handler +import android.os.Looper import com.levibostian.wendy.service.PendingTask -class FooPendingTask : PendingTask() { +class FooPendingTask(manuallyRun: Boolean, + groupId: String?, + data: String) : PendingTask(tag = FooPendingTask::class.java.simpleName) { + + init { + manually_run = manuallyRun + group_id = groupId + data_id = data + } companion object { - fun blank(): FooPendingTask { return FooPendingTask() } + fun blank(): FooPendingTask { return FooPendingTask(false, null, "") } } override fun runTask(complete: (successful: Boolean) -> Unit) { // Here, instantiate your dependencies, talk to your DB, your API, etc. Run the task. - complete(true) + + Handler(Looper.getMainLooper()).postDelayed({ + complete(true) + }, 1000) } } \ No newline at end of file diff --git a/app/src/main/java/com/levibostian/wendyexample/MainActivity.java b/app/src/main/java/com/levibostian/wendyexample/MainActivity.java deleted file mode 100644 index d674af9..0000000 --- a/app/src/main/java/com/levibostian/wendyexample/MainActivity.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.levibostian.wendyexample; - -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; -import android.view.View; - -import com.curiosityio.wendyexample.R; -import com.levibostian.wendy.service.PendingTasks; - -public class MainActivity extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - findViewById(R.id.activity_main_create_pending_task_button).setOnClickListener(new View.OnClickListener() { - @Override public void onClick(View v) { - PendingTasks.sharedInstance().addTask(new FooPendingTask()); - } - }); - } - -} diff --git a/app/src/main/java/com/levibostian/wendyexample/MainActivity.kt b/app/src/main/java/com/levibostian/wendyexample/MainActivity.kt new file mode 100644 index 0000000..0c0a2bc --- /dev/null +++ b/app/src/main/java/com/levibostian/wendyexample/MainActivity.kt @@ -0,0 +1,36 @@ +package com.levibostian.wendyexample + +import android.support.v7.app.AppCompatActivity +import android.os.Bundle +import android.view.View + +import com.curiosityio.wendyexample.R +import com.levibostian.wendy.service.PendingTask +import com.levibostian.wendy.service.PendingTasks +import kotlinx.android.synthetic.main.activity_main.* + +class MainActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + activity_main_create_pending_task_button.setOnClickListener { + if (activity_main_custom_data_edittext.text.isBlank()) { + activity_main_custom_data_edittext.error = "You must enter data here." + } else { + val pendingTask = FooPendingTask( + activity_main_manually_run_checkbox.isChecked, + if (activity_main_group_id_edittext.text.isNullOrBlank()) null else activity_main_group_id_edittext.text.toString(), + activity_main_custom_data_edittext.text.toString() + ) + PendingTasks.sharedInstance().addTask(pendingTask) + } + } + + activity_main_reset_tasks_button.setOnClickListener { + PendingTasks.sharedInstance().resetTasks() + } + } + +} diff --git a/app/src/main/java/com/levibostian/wendyexample/MainApplication.kt b/app/src/main/java/com/levibostian/wendyexample/MainApplication.kt index 91bf415..88bfed9 100644 --- a/app/src/main/java/com/levibostian/wendyexample/MainApplication.kt +++ b/app/src/main/java/com/levibostian/wendyexample/MainApplication.kt @@ -1,6 +1,7 @@ package com.levibostian.wendyexample import android.app.Application +import com.curiosityio.wendyexample.BuildConfig import com.levibostian.wendy.service.PendingTasks class MainApplication : Application() { @@ -9,6 +10,7 @@ class MainApplication : Application() { super.onCreate() PendingTasks.init(this, WendyExamplePendingTasksFactory()) + .debug(BuildConfig.DEBUG) } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fe9b360..bdb803b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,12 +5,43 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:orientation="vertical" tools:context="com.levibostian.wendyexample.MainActivity"> -