From d90fa02cd1372d6663bf6becb7eac981742c5db8 Mon Sep 17 00:00:00 2001 From: Gilbert Kimutai Date: Sun, 3 Feb 2019 12:18:04 +0300 Subject: [PATCH] Added support for coupons Restructuring api service calls --- app/build.gradle | 3 +- app/src/main/AndroidManifest.xml | 6 +- .../main/java/me/gilo/wc_app/MainActivity.kt | 37 +++++++-- .../java/me/gilo/wc_app/ui/ShopActivity.kt | 23 ++++++ app/src/main/res/layout/activity_main.xml | 18 ++--- app/src/main/res/layout/activity_shop.xml | 34 ++++++++ app/src/main/res/layout/content_shop.xml | 17 ++++ app/src/main/res/values/dimens.xml | 3 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 6 ++ .../java/me/gilo/woodroid/Woocommerce.java | 36 ++------- .../main/java/me/gilo/woodroid/data/API.java | 10 ++- .../java/me/gilo/woodroid/data/CouponAPI.java | 45 +++++++++++ .../me/gilo/woodroid/data/RestAdapter.java | 78 ++++++++++++++++++- .../java/me/gilo/woodroid/dto/CouponData.java | 43 ++++++++++ .../gilo/woodroid/repo/CouponRepository.java | 49 ++++++++++++ .../gilo/woodroid/repo/ProductRepository.java | 38 ++------- .../me/gilo/woodroid/repo/WooRepository.java | 54 +++++++++++++ 18 files changed, 421 insertions(+), 80 deletions(-) create mode 100644 app/src/main/java/me/gilo/wc_app/ui/ShopActivity.kt create mode 100644 app/src/main/res/layout/activity_shop.xml create mode 100644 app/src/main/res/layout/content_shop.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 woodroid/src/main/java/me/gilo/woodroid/data/CouponAPI.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/dto/CouponData.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/repo/CouponRepository.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/repo/WooRepository.java diff --git a/app/build.gradle b/app/build.gradle index 89d8f74..2e195a7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,9 +41,10 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'com.android.support:design:28.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c272962..d01fa86 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,7 +11,11 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + + diff --git a/app/src/main/java/me/gilo/wc_app/MainActivity.kt b/app/src/main/java/me/gilo/wc_app/MainActivity.kt index 5dc3de6..75e54b1 100644 --- a/app/src/main/java/me/gilo/wc_app/MainActivity.kt +++ b/app/src/main/java/me/gilo/wc_app/MainActivity.kt @@ -8,6 +8,7 @@ import kotlinx.android.synthetic.main.activity_main.* import me.gilo.woodroid.Woocommerce import me.gilo.woodroid.Woocommerce.Builder import me.gilo.woodroid.callback.Status +import me.gilo.woodroid.models.Coupon import me.gilo.woodroid.models.Product import java.util.ArrayList import retrofit2.Call @@ -29,16 +30,40 @@ class MainActivity : AppCompatActivity() { .setConsumerSecret("cs_062e8e3a7ae0ce08fdebc0c39f8f834d5e87598e") .build() +// tvText.append("\n") +// tvText.append("\n") +// tvText.append("Products") +// tvText.append("\n") +// tvText.append("\n") +// +// woocommerce.products.enqueue(object : Callback> { +// override fun onResponse(call: Call>, response: Response>) { +// val products = response.body() +// for (product in products!!) { +// tvText.append(product.title + "\n") +// } +// } +// +// override fun onFailure(call: Call>, t: Throwable) { +// +// } +// }) +// +// tvText.append("\n") +// tvText.append("\n") +// tvText.append("Coupons") +// tvText.append("\n") +// tvText.append("\n") - woocommerce.products.enqueue(object : Callback> { - override fun onResponse(call: Call>, response: Response>) { - val products = response.body() - for (product in products!!) { - tvText.append(product.title) + woocommerce.Coupon().coupons().enqueue(object : Callback> { + override fun onResponse(call: Call>, response: Response>) { + val coupons = response.body() + for (coupon in coupons!!) { + tvText.append(coupon.description + "\n") } } - override fun onFailure(call: Call>, t: Throwable) { + override fun onFailure(call: Call>, t: Throwable) { } }) diff --git a/app/src/main/java/me/gilo/wc_app/ui/ShopActivity.kt b/app/src/main/java/me/gilo/wc_app/ui/ShopActivity.kt new file mode 100644 index 0000000..6c8a803 --- /dev/null +++ b/app/src/main/java/me/gilo/wc_app/ui/ShopActivity.kt @@ -0,0 +1,23 @@ +package me.gilo.wc_app.ui + +import android.os.Bundle +import android.support.design.widget.Snackbar +import android.support.v7.app.AppCompatActivity; +import me.gilo.wc_app.R + +import kotlinx.android.synthetic.main.activity_shop.* + +class ShopActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_shop) + setSupportActionBar(toolbar) + + fab.setOnClickListener { view -> + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show() + } + } + +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 555293e..edba38f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,20 +1,18 @@ - + tools:context=".MainActivity" + android:layout_margin="16dp" + > + android:layout_width="match_parent" + android:layout_height="match_parent" + /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_shop.xml b/app/src/main/res/layout/activity_shop.xml new file mode 100644 index 0000000..bfbb155 --- /dev/null +++ b/app/src/main/res/layout/activity_shop.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/content_shop.xml b/app/src/main/res/layout/content_shop.xml new file mode 100644 index 0000000..e121533 --- /dev/null +++ b/app/src/main/res/layout/content_shop.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..59a0b0c --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ + + 16dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b100bf1..7c30b86 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ wc-app + ShopActivity diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5885930..16dbab3 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -7,5 +7,11 @@ @color/colorPrimaryDark @color/colorAccent + +