Panagiotis Triantafyllou

sm pass fixes and new gradle

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
<bytecodeTargetLevel target="21" />
</component>
</project>
\ No newline at end of file
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
......@@ -183,7 +184,7 @@
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -47,6 +47,14 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
namespace "warp.ly.android_sdk"
packaging {
jniLibs {
useLegacyPackaging true
}
}
}
dependencies {
......
......@@ -16,7 +16,6 @@
android:name="warp.ly.android_sdk.WarplyAndroidSDKApplication"
android:allowBackup="false"
android:exported="true"
android:extractNativeLibs="true"
android:fullBackupContent="false"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
......
......@@ -8,9 +8,9 @@ buildscript {
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.3'
classpath 'com.android.tools.build:gradle:8.8.0'
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.huawei.agconnect:agcp:1.7.2.300'
classpath 'com.huawei.agconnect:agcp:1.9.1.300'
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
......
#Fri Jul 26 17:08:44 EEST 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
......
......@@ -32,12 +32,12 @@ afterEvaluate {
// Two artifacts, the `aar` (or `jar`) and the sources
if (project.plugins.findPlugin("com.android.library")) {
from components.release
from(project.components.findByName("release"))
} else {
from components.java
}
artifact androidSourcesJar
// Sources are now handled by the android block's singleVariant
// artifact javadocJar
// Mostly self-explanatory metadata
......
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
android.buildFeatures.buildConfig = true
ext {
PUBLISH_GROUP_ID = 'ly.warp'
PUBLISH_VERSION = '4.5.5.4r43'
PUBLISH_VERSION = '4.5.5.4r47'
PUBLISH_ARTIFACT_ID = 'warply-android-sdk'
}
......@@ -14,6 +17,14 @@ android {
useLibrary 'org.apache.http.legacy'
publishing {
// Configure all components to be published
singleVariant('release') {
// Publish the release variant with sources
withSourcesJar()
}
}
defaultConfig {
minSdkVersion 23
targetSdkVersion 34
......@@ -44,6 +55,8 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
namespace "ly.warp.sdk"
}
dependencies {
......@@ -114,33 +127,17 @@ dependencies {
}
// In every export please update the version number
task deleteJarLibrary(type: Delete) {
tasks.register('deleteJarLibrary', Delete) {
delete 'jar/warply_android_sdk_v4.5.0.jar'
}
//from('build/intermediates/compile_library_classes/release/')
//Old version
// Gradle Tasks -> warply_android_sdk -> Tasks -> other -> createJarLibrary
//task createJarLibrary(type: Copy) {
// from fileTree('build/intermediates/bundles/release/')
// into('jar/')
// include('classes.jar')
// rename('classes.jar', 'warply_android_sdk_v4.4.2.jar')
//}
// New version
// Gradle -> warplyDemo -> libraries -> warply_android_sdk -> Run Configurations -> assembleRelease
// When finished it copies the .jar into
// warply_android_sdk -> build -> intermediates -> full_jar -> release/debug -> full.jar
// 24 - Jan - 2022
// Gradle -> warplyDemo -> libraries -> warply_android_sdk -> Tasks -> build -> build
// When finished it copies the .aar into
// warply_android_sdk -> build -> outputs -> aar -> warply_android_sdk-release.aar
task createJarLibrary(type: Jar, dependsOn: 'assembleRelease') {
from fileTree('build/intermediates/bundles/release/')
tasks.register('createJarLibrary', Jar) {
dependsOn('assembleRelease')
from(fileTree('build/intermediates/aar/release/'))
destinationDirectory = file('jar')
archiveFileName = "warply_android_sdk_v${PUBLISH_VERSION}.jar"
}
createJarLibrary.dependsOn(deleteJarLibrary, build)
tasks.named('createJarLibrary') {
dependsOn('deleteJarLibrary', 'build')
}
\ No newline at end of file
......
......@@ -27,7 +27,6 @@ import ly.warp.sdk.io.callbacks.CallbackReceiver;
import ly.warp.sdk.io.models.Campaign;
import ly.warp.sdk.io.models.CouponList;
import ly.warp.sdk.io.models.MarketPassDetailsModel;
import ly.warp.sdk.io.models.UnifiedCoupon;
import ly.warp.sdk.utils.managers.WarplyManager;
public class BaseFragmentActivity extends FragmentActivity implements NavigationBarView.OnItemSelectedListener {
......@@ -58,7 +57,6 @@ public class BaseFragmentActivity extends FragmentActivity implements Navigation
if (WarplyDBHelper.getInstance(this).isTableNotEmpty("auth")) {
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
}
......@@ -182,18 +180,6 @@ public class BaseFragmentActivity extends FragmentActivity implements Navigation
}
};
private final CallbackReceiver<ArrayList<UnifiedCoupon>> mUnifiedCallback = new CallbackReceiver<ArrayList<UnifiedCoupon>>() {
@Override
public void onSuccess(ArrayList<UnifiedCoupon> result) {
Toast.makeText(BaseFragmentActivity.this, "Unified Coupons Success " + String.valueOf(result.size()), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int errorCode) {
Toast.makeText(BaseFragmentActivity.this, "Unified Coupons Error", Toast.LENGTH_SHORT).show();
}
};
private final CallbackReceiver<MarketPassDetailsModel> mMarketPassDetailsCallback = new CallbackReceiver<MarketPassDetailsModel>() {
@Override
public void onSuccess(MarketPassDetailsModel result) {
......
......@@ -291,10 +291,9 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
/** First Banner */
/** Second Expandable Banner */
if (WarplyManagerHelper.getMarketCoupons() != null && WarplyManagerHelper.getMarketCoupons().size() > 0) {
if (WarplyManagerHelper.getCouponRedeemedList() != null && !WarplyManagerHelper.getCouponRedeemedList().isEmpty()) {
countValue = 0.0f;
if (WarplyManagerHelper.getCouponRedeemedList().size() > 0) {
for (Coupon cou : WarplyManagerHelper.getCouponRedeemedList()) {
if (cou.getCouponsetDetails().getCouponsetType().equals("supermarket")) {
countValue += Float.parseFloat(cou.getDiscount());
......@@ -307,7 +306,6 @@ public class LoyaltyHistoryActivity extends Activity implements View.OnClickList
cou.setFinal_price(cou.getCouponsetDetails().getFinal_price());
}
}
}
mFavValue += countValue;
String badgeValue = String.format(Locale.GERMAN, "%.02f", countValue);
......
......@@ -39,12 +39,10 @@ import ly.warp.sdk.io.models.CustomTypefaceSpan;
import ly.warp.sdk.io.models.LoyaltySDKFirebaseEventModel;
import ly.warp.sdk.io.models.SharingCoupon;
import ly.warp.sdk.io.models.SharingList;
import ly.warp.sdk.io.request.WarplySharingHistoryRequest;
import ly.warp.sdk.utils.WarpUtils;
import ly.warp.sdk.utils.WarplyManagerHelper;
import ly.warp.sdk.utils.managers.WarplyAnalyticsManager;
import ly.warp.sdk.utils.managers.WarplyEventBusManager;
import ly.warp.sdk.utils.managers.WarplyManager;
import ly.warp.sdk.views.adapters.ExpiredCouponAdapter;
import ly.warp.sdk.views.adapters.SharedCouponAdapter;
......@@ -155,28 +153,16 @@ public class LoyaltyMarketAnalysisActivity extends Activity implements View.OnCl
}
});
if (WarplyManagerHelper.getMarketCoupons() != null && WarplyManagerHelper.getMarketCoupons().size() > 0) {
if (WarplyManagerHelper.getCouponRedeemedList() != null && !WarplyManagerHelper.getCouponRedeemedList().isEmpty()) {
final ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(() -> {
// for (UnifiedCoupon unicoupon : WarplyManagerHelper.getMarketCoupons()) {
// if (unicoupon.getCoupons() != null && unicoupon.getCoupons().size() > 0) {
// for (Coupon inncoupon : unicoupon.getCoupons()) {
// if (inncoupon.getStatus() == 0) {
// countValue += Float.valueOf(inncoupon.getDiscount());
// mExpiredMarketCoupons.add(inncoupon);
// }
// }
// }
// }
if (WarplyManagerHelper.getCouponRedeemedList().size() > 0) {
for (Coupon cou : WarplyManagerHelper.getCouponRedeemedList()) {
if (cou.getCouponsetDetails().getCouponsetType().equals("supermarket")) {
countValue += Float.valueOf(cou.getDiscount());
mExpiredMarketCoupons.add(cou);
}
}
}
Collections.sort(mExpiredMarketCoupons, (coupon1, coupon2) -> coupon2.getChangesDates().optString("redeemed").compareTo(coupon1.getChangesDates().optString("redeemed")));
new Handler(Looper.getMainLooper()).post(this::initViews);
executor.shutdownNow();
......
......@@ -28,7 +28,6 @@ import ly.warp.sdk.io.callbacks.CallbackReceiver;
import ly.warp.sdk.io.models.Campaign;
import ly.warp.sdk.io.models.CouponList;
import ly.warp.sdk.io.models.MarketPassDetailsModel;
import ly.warp.sdk.io.models.UnifiedCoupon;
import ly.warp.sdk.utils.WarpJSONParser;
import ly.warp.sdk.utils.WarplyManagerHelper;
import ly.warp.sdk.utils.managers.WarplyManager;
......@@ -128,7 +127,6 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
if (WarplyDBHelper.getInstance(getActivity()).isTableNotEmpty("auth")) {
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
mSwipeRefresh.setRefreshing(false);
} else {
......@@ -191,18 +189,6 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
}
};
private final CallbackReceiver<ArrayList<UnifiedCoupon>> mUnifiedCallback = new CallbackReceiver<ArrayList<UnifiedCoupon>>() {
@Override
public void onSuccess(ArrayList<UnifiedCoupon> result) {
Toast.makeText(getActivity(), "Unified Coupons Success " + String.valueOf(result.size()), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int errorCode) {
Toast.makeText(getActivity(), "Unified Coupons Error", Toast.LENGTH_SHORT).show();
}
};
private final CallbackReceiver<JSONObject> mLogoutReceiver = new CallbackReceiver<JSONObject>() {
@Override
public void onSuccess(JSONObject result) {
......@@ -240,7 +226,6 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Swip
WarplyManager.getUserCouponsWithCouponsets(mUserCouponsReceiver);
WarplyManager.getCampaigns(mCampaignsCallback);
WarplyManager.getUnifiedCouponsDeals(mUnifiedCallback);
WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
}
......
......@@ -191,7 +191,7 @@
<string name="cos_market_ab_subtitle">1. Eνεργοποίησε τον κωδικό στην κάρτα ΑΒ PLUS στο kiosk του καταστήματος ή μέσω eshop / app στην ενοτητα στην ενότητα Συνεργασίες – SUPERMARKET DEALS.\n\n2. Κάνε τις αγορές σου και κέρδισε απευθείας έκπτωση με χρήση της AB PLUS από τα διαθέσιμα κουπόνια.</string>
<string name="cos_market_pass_title">SUPERMARKET DEALS CARD</string>
<string name="cos_market_pass_subtitle">Χρησιμοποίησε τον κωδικό σου και κέρδισε έκπτωση στις αγορές σου!</string>
<string name="cos_market_pass_return">Επιστροφή στο Supermarket Deals</string>
<string name="cos_market_pass_return">Επιστροφή</string>
<string name="cos_market_pass_coupons_title">Έχεις κουπόνια συνολικής αξίας %1$s€</string>
<string name="cos_market_subtitle">Δημιούργησε το δικό σου ενιαίο κουπόνι προσφορών, και εξαργύρωσέ το στα supermarket της επιλογής σου γρήγορα και εύκολα με ένα μόνο κωδικό κουπονιού!</string>
<string name="cos_market_close">Τέλος</string>
......