Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 34 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 27
namespace 'com.myduka.app'
compileSdk 33

defaultConfig {
applicationId "com.myduka.app"
Expand All @@ -30,6 +31,11 @@ android {
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

buildFeatures {
buildConfig true
}

buildTypes {
release {
minifyEnabled false
Expand All @@ -46,24 +52,44 @@ android {
enabled = true
}

buildFeatures {
viewBinding true
}

buildTypes.each {

// CONSUMER_KEY & CONSUMER_SECRET Build Variables are referenced from gradle.properties file
it.buildConfigField 'String', 'CONSUMER_KEY', DARAJA_CONSUMER_KEY
it.buildConfigField 'String', 'CONSUMER_SECRET', DARAJA_CONSUMER_SECRET
}

tasks.withType(JavaCompile).configureEach {
options.fork = true
options.forkOptions.jvmArgs += [
'--add-exports', 'jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED',
'--add-exports', 'jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED',
'--add-exports', 'jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED',
'--add-exports', 'jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED'
]
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.support.appcompat
/*implementation deps.support.appcompat
implementation deps.support.design
implementation deps.support.support
implementation deps.support.multidex
implementation deps.support.cardview
implementation deps.support.recyclerview
implementation deps.support.constraintLayout
implementation deps.support.constraintLayout */
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

//Butterknife - Bind Views
implementation deps.butterknife.core
annotationProcessor deps.butterknife.compiler
Expand All @@ -72,7 +98,7 @@ dependencies {
//Firebase
implementation deps.firebase
//My Lib -> Monitor Internet Connectivity
implementation deps.networkmanager
// implementation deps.networkmanager
//Glide - Handle Images
implementation deps.glide.core
annotationProcessor deps.glide.compiler
Expand Down Expand Up @@ -100,5 +126,9 @@ dependencies {
exclude group: 'com.android.support', module: 'recyclerview-v7'
}

constraints{
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10'
}
}
apply plugin: 'com.google.gms.google-services'
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@
package com.myduka.app;

import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;


import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.*;

import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;

/**
* Instrumentation test, which will execute on an Android device.
*
Expand Down
6 changes: 4 additions & 2 deletions app/src/main/java/com/myduka/app/MyDuka.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
package com.myduka.app;

import android.content.Context;
import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication;


import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;

import timber.log.Timber;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package com.myduka.app.api.interceptor;

import android.support.annotation.NonNull;
import android.util.Base64;

import androidx.annotation.NonNull;

import com.myduka.app.BuildConfig;
import com.myduka.app.api.ApiClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@



import android.support.annotation.NonNull;
import androidx.annotation.NonNull;


import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v4.content.LocalBroadcastManager;

import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

import static com.myduka.app.util.AppConstants.REGISTRATION_COMPLETE;
import static com.myduka.app.util.AppConstants.SHARED_PREF;

import androidx.localbroadcastmanager.content.LocalBroadcastManager;

/**
* Created on 6/30/2017.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

import android.content.Context;
import android.content.Intent;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;

import com.google.firebase.messaging.FirebaseMessagingService;
Expand All @@ -33,6 +32,8 @@

import static com.myduka.app.util.AppConstants.PUSH_NOTIFICATION;

import androidx.localbroadcastmanager.content.LocalBroadcastManager;

/**
* Created on 6/30/2017.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,11 @@
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

/**
* Created by Brayo on 8/28/2016.
*/
Expand Down
87 changes: 52 additions & 35 deletions app/src/main/java/com/myduka/app/ui/activity/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,8 @@
import android.content.IntentFilter;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.InputType;
import androidx.annotation.NonNull;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
Expand All @@ -42,11 +36,13 @@
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.material.snackbar.Snackbar;
import com.google.firebase.messaging.FirebaseMessaging;
import com.myduka.app.R;
import com.myduka.app.api.ApiClient;
import com.myduka.app.api.model.AccessToken;
import com.myduka.app.api.model.STKPush;
import com.myduka.app.databinding.ActivityMainBinding;
import com.myduka.app.ui.RecyclerviewListDecorator;
import com.myduka.app.ui.adapter.CartListAdapter;
import com.myduka.app.ui.callback.PriceTransfer;
Expand All @@ -57,9 +53,6 @@

import java.util.ArrayList;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
Expand All @@ -74,13 +67,17 @@
import static com.myduka.app.util.AppConstants.TOPIC_GLOBAL;
import static com.myduka.app.util.AppConstants.TRANSACTION_TYPE;

public class MainActivity extends AppCompatActivity implements PriceTransfer {
import androidx.appcompat.app.*;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.recyclerview.widget.RecyclerView;

@BindView(R.id.cart_list)
public class MainActivity extends androidx.appcompat.app.AppCompatActivity implements PriceTransfer {

//@BindView(R.id.cart_list)
RecyclerView mRecyclerViewCartList;
@BindView(R.id.txt_response)
//@BindView(R.id.txt_response)
TextView mTVResponse;
@BindView(R.id.buttonCheckout)
// @BindView(R.id.buttonCheckout)
Button mButtonCheckout;

private String mFireBaseRegId;
Expand All @@ -90,24 +87,43 @@ public class MainActivity extends AppCompatActivity implements PriceTransfer {
private ApiClient mApiClient;
private ArrayList<Integer> mPriceArrayList = new ArrayList<>();

private ActivityMainBinding binding;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
// ButterKnife.bind(this);

Button checkoutBtn = findViewById(R.id.buttonCheckout);
checkoutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mPriceArrayList.size() > 0) {
showCheckoutDialog();
}
}
});

mProgressDialog = new ProgressDialog(this);
mSharedPrefsUtil = new SharedPrefsUtil(this);
mApiClient = new ApiClient();
mApiClient.setIsDebug(true); //Set True to enable logging, false to disable.



getAccessToken();

LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
androidx.recyclerview.widget.LinearLayoutManager layoutManager = new androidx.recyclerview.widget.LinearLayoutManager(MainActivity.this, androidx.recyclerview.widget.LinearLayoutManager.VERTICAL, false);


mRecyclerViewCartList = findViewById(R.id.cart_list);
mButtonCheckout = findViewById(R.id.buttonCheckout);

mRecyclerViewCartList.setLayoutManager(layoutManager);
mRecyclerViewCartList.addItemDecoration(new RecyclerviewListDecorator(MainActivity.this,
LinearLayoutManager.HORIZONTAL));
androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL));

ArrayList<String> cartItems = new ArrayList<>();
cartItems.add("Tomatoes");
Expand Down Expand Up @@ -143,17 +159,20 @@ public void onReceive(Context context, Intent intent) {
getFirebaseRegId();
}

@OnClick({R.id.buttonCheckout})


/*
// @OnClick({R.id.buttonCheckout})
public void onClickViews(View view) {
switch (view.getId()) {
case R.id.buttonCheckout:
if (mPriceArrayList.size() > 0)
//Calling getPhoneNumber method.
showCheckoutDialog();
break;
if (view.getId() == R.id.buttonCheckout) {
if (mPriceArrayList.size() > 0)
//Calling getPhoneNumber method.
showCheckoutDialog();
}
}

*/

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
Expand All @@ -170,30 +189,28 @@ protected void onDestroy() {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_checkout:
Snackbar.make(findViewById(R.id.pay_layout), "Item 1 Selected", Snackbar.LENGTH_LONG)
.setActionTextColor(Color.RED)
.show();
return true;
default:
return super.onOptionsItemSelected(item);
if (item.getItemId() == R.id.action_checkout) {
Snackbar.make(findViewById(R.id.pay_layout), "Item 1 Selected", Snackbar.LENGTH_LONG)
.setActionTextColor(Color.RED)
.show();
return true;
}
return super.onOptionsItemSelected(item);
}

public void getAccessToken() {
mApiClient.setGetAccessToken(true);
mApiClient.mpesaService().getAccessToken().enqueue(new Callback<AccessToken>() {
@Override
public void onResponse(@NonNull Call<AccessToken> call, @NonNull Response<AccessToken> response) {
public void onResponse(@NonNull Call<AccessToken> call, @androidx.annotation.NonNull Response<AccessToken> response) {

if (response.isSuccessful()) {
mApiClient.setAuthToken(response.body().accessToken);
}
}

@Override
public void onFailure(@NonNull Call<AccessToken> call, @NonNull Throwable t) {
public void onFailure(@androidx.annotation.NonNull Call<AccessToken> call, @androidx.annotation.NonNull Throwable t) {

}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.TextView;
Expand All @@ -39,6 +37,9 @@
import static com.myduka.app.util.AppConstants.REGISTRATION_COMPLETE;
import static com.myduka.app.util.AppConstants.TOPIC_GLOBAL;

import androidx.appcompat.app.AppCompatActivity;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

public class NotificationActivity extends AppCompatActivity {

private static final String TAG = MainActivity.class.getSimpleName();
Expand Down
Loading