Panagiotis Triantafyllou

added eurobank home activity, new colors, new files

...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 <!-- android:xlargeScreens="false" />--> 12 <!-- android:xlargeScreens="false" />-->
13 13
14 <application 14 <application
15 - android:name="warp.ly.android_sdk.WarplyAndroidSDKApplication" 15 + android:name=".WarplyAndroidSDKApplication"
16 android:allowBackup="false" 16 android:allowBackup="false"
17 android:exported="true" 17 android:exported="true"
18 android:extractNativeLibs="true" 18 android:extractNativeLibs="true"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 android:theme="@style/AppTheme"> 25 android:theme="@style/AppTheme">
26 26
27 <activity 27 <activity
28 - android:name="warp.ly.android_sdk.activities.SplashActivity" 28 + android:name=".activities.SplashActivity"
29 android:exported="true" 29 android:exported="true"
30 android:label="@string/app_name" 30 android:label="@string/app_name"
31 android:screenOrientation="portrait"> 31 android:screenOrientation="portrait">
...@@ -41,8 +41,6 @@ ...@@ -41,8 +41,6 @@
41 android:exported="false" 41 android:exported="false"
42 android:label="@string/title_activity_main" 42 android:label="@string/title_activity_main"
43 android:screenOrientation="portrait" /> 43 android:screenOrientation="portrait" />
44 -
45 -
46 </application> 44 </application>
47 45
48 <!-- For Huawei Push, only if we targetSdkVersion 30, comment if we are in Google build --> 46 <!-- For Huawei Push, only if we targetSdkVersion 30, comment if we are in Google build -->
......
1 # {@link ly.warp.sdk.utils.WarplyProperty} 1 # {@link ly.warp.sdk.utils.WarplyProperty}
2 2
3 # The app uuid the warply sdk need to connect to the engage server 3 # The app uuid the warply sdk need to connect to the engage server
4 -Uuid=b13ade8ef743468b89a7aaa8efbfc468 4 +# Epistrofi dev app uuid 4e067691826111e2998e8d972467e239
5 +Uuid=4e067691826111e2998e8d972467e239
5 6
6 # If we need to see logs in Logcat 7 # If we need to see logs in Logcat
7 Debug=false 8 Debug=false
...@@ -37,7 +38,7 @@ SendPackages=false ...@@ -37,7 +38,7 @@ SendPackages=false
37 #Language=el 38 #Language=el
38 39
39 # The merchant id for some requests 40 # The merchant id for some requests
40 -MerchantId=20113 41 +MerchantId=59949
41 42
42 # The login type must be one of the below: 43 # The login type must be one of the below:
43 # email, msisdn, username 44 # email, msisdn, username
......
...@@ -2,14 +2,21 @@ package warp.ly.android_sdk.activities; ...@@ -2,14 +2,21 @@ package warp.ly.android_sdk.activities;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 +import android.widget.Toast;
5 6
7 +import java.util.ArrayList;
6 import java.util.Timer; 8 import java.util.Timer;
7 import java.util.TimerTask; 9 import java.util.TimerTask;
8 10
9 import ly.warp.sdk.Warply; 11 import ly.warp.sdk.Warply;
12 +import ly.warp.sdk.activities.EurobankHomeActivity;
13 +import ly.warp.sdk.io.callbacks.CallbackReceiver;
10 import ly.warp.sdk.io.callbacks.SimpleCallbackReceiver; 14 import ly.warp.sdk.io.callbacks.SimpleCallbackReceiver;
11 import ly.warp.sdk.io.callbacks.WarplyReadyCallback; 15 import ly.warp.sdk.io.callbacks.WarplyReadyCallback;
16 +import ly.warp.sdk.io.models.Campaign;
17 +import ly.warp.sdk.io.request.WarplyGetCampaignsRequest;
12 import ly.warp.sdk.utils.WarplyInitializer; 18 import ly.warp.sdk.utils.WarplyInitializer;
19 +import ly.warp.sdk.utils.managers.WarplyManager;
13 import warp.ly.android_sdk.R; 20 import warp.ly.android_sdk.R;
14 21
15 import static warp.ly.android_sdk.utils.Constants.SENDER_ID; 22 import static warp.ly.android_sdk.utils.Constants.SENDER_ID;
...@@ -26,19 +33,20 @@ public class SplashActivity extends BaseActivity { ...@@ -26,19 +33,20 @@ public class SplashActivity extends BaseActivity {
26 mWarplyInitializer = Warply.getInitializer(this, new WarplyReadyCallback() { 33 mWarplyInitializer = Warply.getInitializer(this, new WarplyReadyCallback() {
27 @Override 34 @Override
28 public void onWarplyReady() { 35 public void onWarplyReady() {
29 - checkForAppUpdate(); 36 + showToast("Warply initialization success!");
37 + WarplyManager.getCampaigns(new WarplyGetCampaignsRequest(), mCampaignsCallback);
30 } 38 }
31 39
32 @Override 40 @Override
33 public void onWarplyInitTimeOut() { 41 public void onWarplyInitTimeOut() {
34 showToast("Warply initialization timeout!"); 42 showToast("Warply initialization timeout!");
35 - checkForAppUpdate(); 43 + startNextActivity();
36 } 44 }
37 45
38 @Override 46 @Override
39 public void onWarplyPermissionsDenied() { 47 public void onWarplyPermissionsDenied() {
40 showToast("Warply permissions denied!"); 48 showToast("Warply permissions denied!");
41 - checkForAppUpdate(); 49 + startNextActivity();
42 } 50 }
43 }); 51 });
44 } 52 }
...@@ -55,20 +63,7 @@ public class SplashActivity extends BaseActivity { ...@@ -55,20 +63,7 @@ public class SplashActivity extends BaseActivity {
55 // super.onRequestPermissionsResult(requestCode, permissions, grantResults); 63 // super.onRequestPermissionsResult(requestCode, permissions, grantResults);
56 // } 64 // }
57 65
58 - private void checkForAppUpdate() {
59 -
60 - Warply.checkForAppUpdate(SplashActivity.this, new SimpleCallbackReceiver<Boolean>() {
61 - @Override
62 - public void onResult(Boolean updateAccepted, int errorCode) {
63 - if (!updateAccepted) {
64 - startNextActivity();
65 - }
66 - }
67 - });
68 - }
69 -
70 private void startNextActivity() { 66 private void startNextActivity() {
71 -
72 if (!isFinishing()) { 67 if (!isFinishing()) {
73 long MIN_SPLASH_TIME = 2000; 68 long MIN_SPLASH_TIME = 2000;
74 new Timer().schedule(new TimerTask() { 69 new Timer().schedule(new TimerTask() {
...@@ -80,7 +75,7 @@ public class SplashActivity extends BaseActivity { ...@@ -80,7 +75,7 @@ public class SplashActivity extends BaseActivity {
80 public void run() { 75 public void run() {
81 if (!isFinishing()) { 76 if (!isFinishing()) {
82 startActivity(new Intent(SplashActivity.this, 77 startActivity(new Intent(SplashActivity.this,
83 - MainActivity.class)); 78 + EurobankHomeActivity.class));
84 finish(); 79 finish();
85 } 80 }
86 } 81 }
...@@ -89,4 +84,16 @@ public class SplashActivity extends BaseActivity { ...@@ -89,4 +84,16 @@ public class SplashActivity extends BaseActivity {
89 }, MIN_SPLASH_TIME); 84 }, MIN_SPLASH_TIME);
90 } 85 }
91 } 86 }
87 +
88 + private final CallbackReceiver<ArrayList<Campaign>> mCampaignsCallback = new CallbackReceiver<ArrayList<Campaign>>() {
89 + @Override
90 + public void onSuccess(ArrayList<Campaign> result) {
91 + startNextActivity();
92 + }
93 +
94 + @Override
95 + public void onFailure(int errorCode) {
96 + Toast.makeText(SplashActivity.this, "Campaigns Error", Toast.LENGTH_SHORT).show();
97 + }
98 + };
92 } 99 }
......
...@@ -4,14 +4,16 @@ ...@@ -4,14 +4,16 @@
4 4
5 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 5 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
6 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 6 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
7 - <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 7 + <uses-permission
8 + android:name="android.permission.READ_PHONE_STATE"
9 + tools:node="remove" />
8 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 10 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
9 <uses-permission android:name="android.permission.BLUETOOTH" /> 11 <uses-permission android:name="android.permission.BLUETOOTH" />
10 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 12 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
11 <uses-permission 13 <uses-permission
12 android:name="android.permission.REQUEST_INSTALL_PACKAGES" 14 android:name="android.permission.REQUEST_INSTALL_PACKAGES"
13 tools:node="remove" /> 15 tools:node="remove" />
14 - <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> 16 + <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
15 17
16 <application> 18 <application>
17 <!-- For Huawei Push --> 19 <!-- For Huawei Push -->
...@@ -24,6 +26,11 @@ ...@@ -24,6 +26,11 @@
24 android:value="false" /> 26 android:value="false" />
25 27
26 <activity 28 <activity
29 + android:name="ly.warp.sdk.activities.EurobankHomeActivity"
30 + android:exported="false"
31 + android:screenOrientation="portrait" />
32 +
33 + <activity
27 android:name="ly.warp.sdk.activities.WarpViewActivity" 34 android:name="ly.warp.sdk.activities.WarpViewActivity"
28 android:exported="false" 35 android:exported="false"
29 android:screenOrientation="portrait" /> 36 android:screenOrientation="portrait" />
......
1 +package ly.warp.sdk.activities;
2 +
3 +import android.os.Bundle;
4 +
5 +import ly.warp.sdk.R;
6 +
7 +public class EurobankHomeActivity extends WarpBaseActivity {
8 +
9 + // ===========================================================
10 + // Constants
11 + // ===========================================================
12 +
13 + // ===========================================================
14 + // Fields
15 + // ===========================================================
16 +
17 + // ===========================================================
18 + // Methods for/from SuperClass/Interfaces
19 + // ===========================================================
20 +
21 + @Override
22 + public void onCreate(Bundle savedInstanceState) {
23 + super.onCreate(savedInstanceState);
24 + setContentView(R.layout.activity_eurobank_home);
25 + initViews();
26 + }
27 +
28 + @Override
29 + protected void onResume() {
30 + super.onResume();
31 + }
32 +
33 + private void initViews() {
34 +
35 +
36 + }
37 +
38 + // ===========================================================
39 + // Methods
40 + // ===========================================================
41 +
42 + // ===========================================================
43 + // Inner and Anonymous Classes
44 + // ===========================================================
45 +
46 +}
1 +/*
2 + * Copyright 2010-2013 Warply Ltd. All rights reserved.
3 + *
4 + * Redistribution and use in source and binary forms, without modification, are
5 + * permitted provided that the following conditions are met:
6 + *
7 + * 1. Redistributions of source code must retain the above copyright notice,
8 + * this list of conditions and the following disclaimer.
9 + *
10 + * 2. Redistributions in binary form must reproduce the above copyright notice,
11 + * this list of conditions and the following disclaimer in the documentation
12 + * and/or other materials provided with the distribution.
13 + *
14 + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
18 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20 + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23 + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +package ly.warp.sdk.io.callbacks;
26 +import android.text.TextUtils;
27 +import org.json.JSONObject;
28 +import java.util.ArrayList;
29 +import ly.warp.sdk.io.models.Campaign;
30 +import ly.warp.sdk.io.models.NewCampaign;
31 +import ly.warp.sdk.io.models.NewCampaignList;
32 +import ly.warp.sdk.utils.WarpJSONParser;
33 +/**
34 + * Created by Panagiotis Triantafyllou on 12-May-22.
35 + */
36 +public class NewCampaignsHookDefault implements CallbackReceiver<JSONObject> {
37 + private final CallbackReceiver<ArrayList<Campaign>> mListener;
38 + private final String mRequestSignature;
39 + public NewCampaignsHookDefault(CallbackReceiver<ArrayList<Campaign>> listener, String requestSignature) {
40 + this.mListener = listener;
41 + this.mRequestSignature = requestSignature;
42 + }
43 + @Override
44 + public void onSuccess(JSONObject result) {
45 + if (mListener != null) {
46 + int status = result.optInt("status", 2);
47 + if (status == 1) {
48 + NewCampaignList cmpList = new NewCampaignList(result, mRequestSignature);
49 + ArrayList<Campaign> tempCampaigns = new ArrayList<>();
50 + for (NewCampaign newCamp : cmpList) {
51 + Campaign camp = new Campaign();
52 + camp.setIndexUrl(newCamp.getIndexUrl());
53 + camp.setLogoUrl(newCamp.getLogoUrl());
54 + camp.setMessage(newCamp.getMessage());
55 + camp.setOfferCategory(newCamp.getCommunicationCategory());
56 + camp.setSessionUUID(newCamp.getCommunicationUUID());
57 + camp.setTitle(newCamp.getTitle());
58 + camp.setSubtitle(newCamp.getSubtitle());
59 + camp.setSorting(newCamp.getSorting());
60 + camp.setNew(newCamp.getIsNew());
61 + camp.setType(newCamp.getCampaignType());
62 + try {
63 + camp.setExtraFields(newCamp.getExtraFields().toString());
64 + if (!TextUtils.isEmpty(newCamp.getExtraFields().toString())) {
65 + JSONObject extraFieldsResp = WarpJSONParser.getJSONFromString(newCamp.getExtraFields().toString());
66 + if (extraFieldsResp != null) {
67 + if (extraFieldsResp.has("Banner_title")) {
68 + camp.setBannerTitle(extraFieldsResp.optString("Banner_title", ""));
69 + }
70 + if (extraFieldsResp.has("Banner_img")) {
71 + camp.setBannerImage(extraFieldsResp.optString("Banner_img", ""));
72 + }
73 + }
74 + } else {
75 + camp.setBannerImage("");
76 + camp.setBannerTitle("");
77 + }
78 + } catch (NullPointerException e) {
79 + camp.setExtraFields("");
80 + camp.setBannerImage("");
81 + camp.setBannerTitle("");
82 + e.printStackTrace();
83 + }
84 + try {
85 + camp.setCampaignTypeSettings(newCamp.getSettings().toString());
86 + } catch (NullPointerException e) {
87 + camp.setCampaignTypeSettings("");
88 + e.printStackTrace();
89 + }
90 + tempCampaigns.add(camp);
91 + }
92 + mListener.onSuccess(tempCampaigns);
93 + } else
94 + mListener.onFailure(status);
95 + }
96 + }
97 + @Override
98 + public void onFailure(int errorCode) {
99 + if (mListener != null)
100 + mListener.onFailure(errorCode);
101 + }
102 +}
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2010-2022 Warply Ltd. All rights reserved.
3 + *
4 + * Redistribution and use in source and binary forms, without modification, are
5 + * permitted provided that the following conditions are met:
6 + *
7 + * 1. Redistributions of source code must retain the above copyright notice,
8 + * this list of conditions and the following disclaimer.
9 + *
10 + * 2. Redistributions in binary form must reproduce the above copyright notice,
11 + * this list of conditions and the following disclaimer in the documentation
12 + * and/or other materials provided with the distribution.
13 + *
14 + * THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + * EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
18 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20 + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23 + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +
26 +package ly.warp.sdk.utils;
27 +
28 +import java.util.ArrayList;
29 +
30 +import ly.warp.sdk.io.models.Campaign;
31 +
32 +public class WarplyManagerHelper {
33 + private static ArrayList<Campaign> mCampaignList = new ArrayList<Campaign>();
34 +
35 + public static ArrayList<Campaign> getCampaignList() {
36 + return mCampaignList;
37 + }
38 +
39 + public static void setCampaignList(ArrayList<Campaign> campaignList) {
40 + mCampaignList.clear();
41 + mCampaignList = campaignList;
42 + }
43 +}
...@@ -28,6 +28,8 @@ package ly.warp.sdk.utils.managers; ...@@ -28,6 +28,8 @@ package ly.warp.sdk.utils.managers;
28 import org.json.JSONException; 28 import org.json.JSONException;
29 import org.json.JSONObject; 29 import org.json.JSONObject;
30 30
31 +import java.util.ArrayList;
32 +
31 import ly.warp.sdk.Warply; 33 import ly.warp.sdk.Warply;
32 import ly.warp.sdk.db.WarplyDBHelper; 34 import ly.warp.sdk.db.WarplyDBHelper;
33 import ly.warp.sdk.io.callbacks.AddressHook; 35 import ly.warp.sdk.io.callbacks.AddressHook;
...@@ -40,12 +42,14 @@ import ly.warp.sdk.io.callbacks.CouponsetsHook; ...@@ -40,12 +42,14 @@ import ly.warp.sdk.io.callbacks.CouponsetsHook;
40 import ly.warp.sdk.io.callbacks.MerchantCategoriesHook; 42 import ly.warp.sdk.io.callbacks.MerchantCategoriesHook;
41 import ly.warp.sdk.io.callbacks.MerchantsHook; 43 import ly.warp.sdk.io.callbacks.MerchantsHook;
42 import ly.warp.sdk.io.callbacks.NewCampaignsHook; 44 import ly.warp.sdk.io.callbacks.NewCampaignsHook;
45 +import ly.warp.sdk.io.callbacks.NewCampaignsHookDefault;
43 import ly.warp.sdk.io.callbacks.PointsHook; 46 import ly.warp.sdk.io.callbacks.PointsHook;
44 import ly.warp.sdk.io.callbacks.ProductsHook; 47 import ly.warp.sdk.io.callbacks.ProductsHook;
45 import ly.warp.sdk.io.callbacks.TagsCategoriesHook; 48 import ly.warp.sdk.io.callbacks.TagsCategoriesHook;
46 import ly.warp.sdk.io.callbacks.TagsHook; 49 import ly.warp.sdk.io.callbacks.TagsHook;
47 import ly.warp.sdk.io.callbacks.TransactionsHook; 50 import ly.warp.sdk.io.callbacks.TransactionsHook;
48 import ly.warp.sdk.io.models.AddressList; 51 import ly.warp.sdk.io.models.AddressList;
52 +import ly.warp.sdk.io.models.Campaign;
49 import ly.warp.sdk.io.models.Card; 53 import ly.warp.sdk.io.models.Card;
50 import ly.warp.sdk.io.models.CardList; 54 import ly.warp.sdk.io.models.CardList;
51 import ly.warp.sdk.io.models.Consumer; 55 import ly.warp.sdk.io.models.Consumer;
...@@ -97,6 +101,7 @@ import ly.warp.sdk.io.request.WarplyValidateCouponRequest; ...@@ -97,6 +101,7 @@ import ly.warp.sdk.io.request.WarplyValidateCouponRequest;
97 import ly.warp.sdk.io.request.WarplyVerifyOTPRequest; 101 import ly.warp.sdk.io.request.WarplyVerifyOTPRequest;
98 import ly.warp.sdk.io.request.WarplyVerifyTicketRequest; 102 import ly.warp.sdk.io.request.WarplyVerifyTicketRequest;
99 import ly.warp.sdk.utils.WarpUtils; 103 import ly.warp.sdk.utils.WarpUtils;
104 +import ly.warp.sdk.utils.WarplyManagerHelper;
100 import ly.warp.sdk.utils.WarplyProperty; 105 import ly.warp.sdk.utils.WarplyProperty;
101 import ly.warp.sdk.utils.constants.WarpConstants; 106 import ly.warp.sdk.utils.constants.WarpConstants;
102 107
...@@ -1272,6 +1277,25 @@ public class WarplyManager { ...@@ -1272,6 +1277,25 @@ public class WarplyManager {
1272 }); 1277 });
1273 } 1278 }
1274 1279
1280 + public static void getCampaigns(WarplyGetCampaignsRequest request, final CallbackReceiver<ArrayList<Campaign>> receiver) {
1281 + WarpUtils.log("************* WARPLY Get Campaigns Request ********************");
1282 + WarpUtils.log("[WARP Trace] WARPLY Get Campaigns Request is active");
1283 + WarpUtils.log("**************************************************");
1284 + Warply.postReceiveMicroappData(WarpConstants.MICROAPP_NEW_CAMPAIGNS, false, "campaigns", request.toJson(), new NewCampaignsHookDefault(new CallbackReceiver<ArrayList<Campaign>>() {
1285 + @Override
1286 + public void onSuccess(ArrayList<Campaign> result) {
1287 + WarplyManagerHelper.setCampaignList(result);
1288 + receiver.onSuccess(result);
1289 + }
1290 +
1291 + @Override
1292 + public void onFailure(int errorCode) {
1293 + receiver.onFailure(errorCode);
1294 + }
1295 + },
1296 + request.getSignature()));
1297 + }
1298 +
1275 public static void getCampaigns(WarplyGetCampaignsRequest request, boolean auth, final CallbackReceiver<NewCampaignList> receiver) { 1299 public static void getCampaigns(WarplyGetCampaignsRequest request, boolean auth, final CallbackReceiver<NewCampaignList> receiver) {
1276 WarpUtils.log("************* WARPLY Get Campaigns Request ********************"); 1300 WarpUtils.log("************* WARPLY Get Campaigns Request ********************");
1277 WarpUtils.log("[WARP Trace] WARPLY Get Campaigns Request is active"); 1301 WarpUtils.log("[WARP Trace] WARPLY Get Campaigns Request is active");
......
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<shape xmlns:android="http://schemas.android.com/apk/res/android">
3 + <gradient
4 + android:angle="0"
5 + android:endColor="@color/blue"
6 + android:startColor="@color/blue_dark"
7 + android:type="linear" />
8 +</shape>
...\ No newline at end of file ...\ No newline at end of file
1 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 + xmlns:app="http://schemas.android.com/apk/res-auto"
3 + android:layout_width="match_parent"
4 + android:layout_height="match_parent"
5 + android:background="@color/grey">
6 +
7 + <androidx.constraintlayout.widget.ConstraintLayout
8 + android:layout_width="match_parent"
9 + android:layout_height="120dp"
10 + android:background="@drawable/background_gradient"
11 + android:scaleType="centerCrop">
12 +
13 + <ImageView
14 + android:layout_width="180dp"
15 + android:layout_height="60dp"
16 + android:src="@drawable/logo"
17 + app:layout_constraintBottom_toBottomOf="parent"
18 + app:layout_constraintStart_toStartOf="parent"
19 + app:layout_constraintTop_toTopOf="parent" />
20 +
21 + </androidx.constraintlayout.widget.ConstraintLayout>
22 +</RelativeLayout>
...@@ -3,4 +3,7 @@ ...@@ -3,4 +3,7 @@
3 <color name="colorPrimary">#0a1a50</color> 3 <color name="colorPrimary">#0a1a50</color>
4 <color name="colorAccent">#044C86</color> 4 <color name="colorAccent">#044C86</color>
5 <color name="colorPrimaryDark">#0a1a50</color> 5 <color name="colorPrimaryDark">#0a1a50</color>
6 + <color name="grey">#E7EAEB</color>
7 + <color name="blue_dark">#081748</color>
8 + <color name="blue">#204EAC</color>
6 </resources> 9 </resources>
...\ No newline at end of file ...\ No newline at end of file
......