Toggle navigation
Toggle navigation
This project
Loading...
Sign in
open-source
/
warply_android_sdk_maven_plugin
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Panagiotis Triantafyllou
2026-03-13 12:54:22 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b3ae4386ea97085cbc1768d4815f13e066e051dd
b3ae4386
1 parent
41fd41d2
redesign part4
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
310 additions
and
118 deletions
warply_android_sdk/src/main/java/ly/warp/sdk/activities/HomeActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/io/adapters/BannerAdapter.java
warply_android_sdk/src/main/java/ly/warp/sdk/io/adapters/CouponsetAdapter.java
warply_android_sdk/src/main/java/ly/warp/sdk/utils/TopRoundedCornersTransformation.java
warply_android_sdk/src/main/java/ly/warp/sdk/utils/WarplyManagerHelper.java
warply_android_sdk/src/main/java/ly/warp/sdk/utils/managers/WarplyManager.java
warply_android_sdk/src/main/res/drawable-xhdpi/demo_copy.png
warply_android_sdk/src/main/res/drawable-xhdpi/demo_gear.png
warply_android_sdk/src/main/res/drawable-xhdpi/demo_share.png
warply_android_sdk/src/main/res/drawable/demo_shape_grey.xml
warply_android_sdk/src/main/res/drawable/demo_shape_white_border_grey.xml
warply_android_sdk/src/main/res/drawable/shape_rectangle_rounded_grey.xml
warply_android_sdk/src/main/res/drawable/shape_rectangle_rounded_grey2.xml
warply_android_sdk/src/main/res/layout/activity_home.xml
warply_android_sdk/src/main/res/layout/activity_single_coupon.xml
warply_android_sdk/src/main/res/layout/activity_single_couponset.xml
warply_android_sdk/src/main/res/layout/demo_item_offer.xml
warply_android_sdk/src/main/res/layout/item_banner.xml
warply_android_sdk/src/main/res/layout/item_couponset_section.xml
warply_android_sdk/src/main/res/values/colors.xml
warply_android_sdk/src/main/res/values/strings.xml
warply_android_sdk/src/main/java/ly/warp/sdk/activities/HomeActivity.java
View file @
b3ae438
...
...
@@ -12,6 +12,7 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.appcompat.content.res.AppCompatResources
;
import
androidx.constraintlayout.widget.ConstraintLayout
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
...
...
@@ -31,10 +32,12 @@ import ly.warp.sdk.io.adapters.CouponsetAdapter;
import
ly.warp.sdk.io.callbacks.CallbackReceiver
;
import
ly.warp.sdk.io.models.BannerItem
;
import
ly.warp.sdk.io.models.Couponset
;
import
ly.warp.sdk.io.models.User
;
import
ly.warp.sdk.utils.WarpUtils
;
import
ly.warp.sdk.utils.WarplyManagerHelper
;
import
ly.warp.sdk.utils.managers.WarplyManager
;
import
ly.warp.sdk.views.HorizontalSpaceItemDecoration
;
import
ly.warp.sdk.views.VerticalSpaceItemDecoration
;
public
class
HomeActivity
extends
Activity
implements
View
.
OnClickListener
,
CouponsetAdapter
.
OnCouponsetClickListener
{
// ===========================================================
...
...
@@ -48,11 +51,15 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
// ===========================================================
private
RelativeLayout
mPbLoading
;
private
ViewPager2
mBannerViewPager
;
private
TextView
mTvHeaderTitle
;
private
LinearLayout
mLlUserTags
;
/* View Pager */
// private ViewPager2 mBannerViewPager;
private
RecyclerView
mRvBannerViewPager
;
private
BannerAdapter
mBannerAdapter
;
private
LinearLayout
mDotsContainer
;
private
List
<
ImageView
>
mDots
;
/* Pagination */
// private LinearLayout mDotsContainer;
// private List<ImageView> mDots;
private
ImageView
mIvProfile
;
private
ConstraintLayout
mViewPager
;
private
LinearLayout
mSectionsContainer
;
...
...
@@ -73,6 +80,8 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
findViewById
(
R
.
id
.
header_layout
),
null
);
setUpUser
();
mPbLoading
.
setVisibility
(
View
.
VISIBLE
);
mSectionsLoading
.
setVisibility
(
View
.
VISIBLE
);
WarplyManager
.
getCampaigns
(
mCampaignsCallback
);
...
...
@@ -113,11 +122,73 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
mIvProfile
=
findViewById
(
R
.
id
.
profile_icon
);
mIvProfile
.
setOnClickListener
(
this
);
mTvHeaderTitle
=
findViewById
(
R
.
id
.
tv_header_title
);
mLlUserTags
=
findViewById
(
R
.
id
.
ll_user_tags
);
mRvBannerViewPager
=
findViewById
(
R
.
id
.
banner_viewpager
);
WarpUtils
.
renderCustomFont
(
this
,
R
.
font
.
ping_lcg_bold
,
mTvHeaderTitle
);
}
private
void
setUpUser
()
{
User
user
=
WarplyManagerHelper
.
getUser
();
if
(
user
==
null
)
{
mLlUserTags
.
setVisibility
(
View
.
GONE
);
return
;
}
ArrayList
<
String
>
segments
=
user
.
getUserSegmentsList
();
if
(
segments
==
null
||
segments
.
isEmpty
())
{
mLlUserTags
.
setVisibility
(
View
.
GONE
);
return
;
}
mLlUserTags
.
removeAllViews
();
int
horizontalPaddingPx
=
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
8
,
getResources
().
getDisplayMetrics
());
int
verticalPaddingPx
=
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
6
,
getResources
().
getDisplayMetrics
());
int
spacingPx
=
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
8
,
getResources
().
getDisplayMetrics
());
for
(
int
i
=
0
;
i
<
segments
.
size
();
i
++)
{
String
segment
=
segments
.
get
(
i
);
if
(
segment
==
null
||
segment
.
isEmpty
())
{
continue
;
}
TextView
tagView
=
new
TextView
(
this
);
tagView
.
setText
(
segment
);
tagView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_SP
,
12
);
tagView
.
setTextColor
(
getColor
(
R
.
color
.
custom_black3
));
tagView
.
setBackground
(
AppCompatResources
.
getDrawable
(
this
,
R
.
drawable
.
shape_rectangle_rounded_grey2
));
tagView
.
setIncludeFontPadding
(
false
);
tagView
.
setPadding
(
horizontalPaddingPx
,
verticalPaddingPx
,
horizontalPaddingPx
,
verticalPaddingPx
);
WarpUtils
.
renderCustomFont
(
this
,
R
.
font
.
ping_lcg_regular
,
tagView
);
LinearLayout
.
LayoutParams
params
=
new
LinearLayout
.
LayoutParams
(
LinearLayout
.
LayoutParams
.
WRAP_CONTENT
,
LinearLayout
.
LayoutParams
.
WRAP_CONTENT
);
if
(
i
>
0
)
{
params
.
setMarginStart
(
spacingPx
);
}
tagView
.
setLayoutParams
(
params
);
mLlUserTags
.
addView
(
tagView
);
}
mLlUserTags
.
setVisibility
(
mLlUserTags
.
getChildCount
()
>
0
?
View
.
VISIBLE
:
View
.
GONE
);
}
private
void
setupBannerCarousel
()
{
mBannerViewPager
=
findViewById
(
R
.
id
.
banner_viewpager
);
mDotsContainer
=
findViewById
(
R
.
id
.
dots_container
);
/* View Pager */
// mBannerViewPager = findViewById(R.id.banner_viewpager);
/* Pagination */
// mDotsContainer = findViewById(R.id.dots_container);
LinearLayoutManager
layoutManager
=
new
LinearLayoutManager
(
this
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
mRvBannerViewPager
.
setLayoutManager
(
layoutManager
);
mRvBannerViewPager
.
setHasFixedSize
(
true
);
mBannerAdapter
=
new
BannerAdapter
(
this
,
WarplyManagerHelper
.
getBannerList
());
mBannerAdapter
.
setOnBannerCampaignClickListener
(
campaign
->
{
...
...
@@ -137,46 +208,56 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
}
});
/* View Pager */
// Set the number of pages to preload for adjacent items
mBannerViewPager
.
setOffscreenPageLimit
(
5
);
mBannerViewPager
.
setAdapter
(
mBannerAdapter
);
setupPaginationDots
(
WarplyManagerHelper
.
getBannerList
().
size
());
mBannerViewPager
.
registerOnPageChangeCallback
(
new
ViewPager2
.
OnPageChangeCallback
()
{
@Override
public
void
onPageSelected
(
int
position
)
{
updateDots
(
position
);
}
});
}
// mBannerViewPager.setOffscreenPageLimit(5);
// mBannerViewPager.setAdapter(mBannerAdapter);
private
void
setupPaginationDots
(
int
count
)
{
mDots
=
new
ArrayList
<>();
mDotsContainer
.
removeAllViews
();
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
ImageView
dot
=
new
ImageView
(
this
);
LinearLayout
.
LayoutParams
params
=
new
LinearLayout
.
LayoutParams
(
LinearLayout
.
LayoutParams
.
WRAP_CONTENT
,
LinearLayout
.
LayoutParams
.
WRAP_CONTENT
);
params
.
setMargins
(
8
,
0
,
8
,
0
);
dot
.
setLayoutParams
(
params
);
dot
.
setImageResource
(
i
==
0
?
R
.
drawable
.
dot_active
:
R
.
drawable
.
dot_inactive
);
mDotsContainer
.
addView
(
dot
);
mDots
.
add
(
dot
);
}
mRvBannerViewPager
.
setAdapter
(
mBannerAdapter
);
int
spacingInPixels
=
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
8
,
getResources
().
getDisplayMetrics
());
mRvBannerViewPager
.
addItemDecoration
(
new
HorizontalSpaceItemDecoration
(
spacingInPixels
));
/* Pagination */
// setupPaginationDots(WarplyManagerHelper.getBannerList().size());
/* Pagination */
// mBannerViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
// @Override
// public void onPageSelected(int position) {
// updateDots(position);
// }
// });
}
private
void
updateDots
(
int
position
)
{
for
(
int
i
=
0
;
i
<
mDots
.
size
();
i
++)
{
mDots
.
get
(
i
).
setImageResource
(
i
==
position
?
R
.
drawable
.
dot_active
:
R
.
drawable
.
dot_inactive
);
}
}
/* Pagination */
// private void setupPaginationDots(int count) {
// mDots = new ArrayList<>();
// mDotsContainer.removeAllViews();
//
// for (int i = 0; i < count; i++) {
// ImageView dot = new ImageView(this);
//
// LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
// LinearLayout.LayoutParams.WRAP_CONTENT,
// LinearLayout.LayoutParams.WRAP_CONTENT
// );
// params.setMargins(8, 0, 8, 0);
// dot.setLayoutParams(params);
//
// dot.setImageResource(i == 0 ? R.drawable.dot_active : R.drawable.dot_inactive);
//
// mDotsContainer.addView(dot);
// mDots.add(dot);
// }
// }
/* Pagination */
// private void updateDots(int position) {
// for (int i = 0; i < mDots.size(); i++) {
// mDots.get(i).setImageResource(i == position ? R.drawable.dot_active : R.drawable.dot_inactive);
// }
// }
private
void
setupCouponsetSections
(
LinkedHashMap
<
String
,
ArrayList
<
Couponset
>>
categorizedMap
)
{
mSectionsContainer
.
removeAllViews
();
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/io/adapters/BannerAdapter.java
View file @
b3ae438
package
ly
.
warp
.
sdk
.
io
.
adapters
;
import
android.content.Context
;
import
android.util.TypedValue
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -11,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.load.resource.bitmap.CenterCrop
;
import
java.util.ArrayList
;
...
...
@@ -18,6 +20,7 @@ import ly.warp.sdk.R;
import
ly.warp.sdk.io.models.BannerItem
;
import
ly.warp.sdk.io.models.Campaign
;
import
ly.warp.sdk.io.models.Content
;
import
ly.warp.sdk.utils.TopRoundedCornersTransformation
;
public
class
BannerAdapter
extends
RecyclerView
.
Adapter
<
BannerAdapter
.
BannerViewHolder
>
{
...
...
@@ -76,6 +79,10 @@ public class BannerAdapter extends RecyclerView.Adapter<BannerAdapter.BannerView
public
void
onBindViewHolder
(
@NonNull
BannerViewHolder
holder
,
int
position
)
{
BannerItem
bannerItem
=
mBannerItems
.
get
(
position
);
int
radiusInPixels
=
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_DIP
,
13
,
mContext
.
getResources
().
getDisplayMetrics
());
if
(
bannerItem
.
isCampaign
())
{
Glide
.
with
(
mContext
)
// .setDefaultRequestOptions(
...
...
@@ -84,6 +91,7 @@ public class BannerAdapter extends RecyclerView.Adapter<BannerAdapter.BannerView
// .error(R.drawable.demo_logo))
.
load
(
getCampaignImage
(
bannerItem
))
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
transform
(
new
CenterCrop
(),
new
TopRoundedCornersTransformation
(
radiusInPixels
,
true
))
.
into
(
holder
.
imageView
);
holder
.
itemView
.
setOnClickListener
(
v
->
{
...
...
@@ -99,6 +107,7 @@ public class BannerAdapter extends RecyclerView.Adapter<BannerAdapter.BannerView
// .error(R.drawable.demo_logo))
.
load
(
getContentImage
(
bannerItem
))
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
transform
(
new
CenterCrop
(),
new
TopRoundedCornersTransformation
(
radiusInPixels
,
true
))
.
into
(
holder
.
imageView
);
holder
.
itemView
.
setOnClickListener
(
v
->
{
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/io/adapters/CouponsetAdapter.java
View file @
b3ae438
...
...
@@ -66,7 +66,6 @@ public class CouponsetAdapter extends RecyclerView.Adapter<CouponsetAdapter.Coup
public
class
CouponsetViewHolder
extends
RecyclerView
.
ViewHolder
{
private
final
ImageView
ivOfferImage
;
private
final
ImageView
ivFavorite
;
private
final
ImageView
ivLogo
;
private
final
TextView
tvPrice
;
private
final
TextView
tvTitle
;
...
...
@@ -76,7 +75,6 @@ public class CouponsetAdapter extends RecyclerView.Adapter<CouponsetAdapter.Coup
CouponsetViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
ivOfferImage
=
itemView
.
findViewById
(
R
.
id
.
iv_offer_image
);
ivFavorite
=
itemView
.
findViewById
(
R
.
id
.
iv_favorite
);
ivLogo
=
itemView
.
findViewById
(
R
.
id
.
iv_logo
);
tvPrice
=
itemView
.
findViewById
(
R
.
id
.
tv_price
);
tvTitle
=
itemView
.
findViewById
(
R
.
id
.
tv_title
);
...
...
@@ -95,19 +93,17 @@ public class CouponsetAdapter extends RecyclerView.Adapter<CouponsetAdapter.Coup
}
private
void
bind
(
Couponset
couponset
,
int
position
)
{
tvTitle
.
setText
(
couponset
.
getName
()
!=
null
?
couponset
.
getName
()
:
""
);
tvDescription
.
setText
(
couponset
.
getShortDescription
()
!=
null
?
couponset
.
getShortDescription
()
:
""
);
tvPrice
.
setText
(
couponset
.
getDiscount
()
!=
null
?
couponset
.
getDiscount
()
:
""
);
tvTitle
.
setText
(
couponset
.
getName
()
!=
null
?
couponset
.
getName
()
.
trim
()
:
""
);
tvDescription
.
setText
(
couponset
.
getShortDescription
()
!=
null
?
couponset
.
getShortDescription
()
.
trim
()
:
""
);
tvPrice
.
setText
(
couponset
.
getDiscount
()
!=
null
?
couponset
.
getDiscount
()
.
trim
()
:
""
);
if
(
couponset
.
getEndDate
()
!=
null
&&
!
couponset
.
getEndDate
().
isEmpty
())
{
tvValidity
.
setText
(
formatValidityDate
(
couponset
.
getEndDate
()));
tvValidity
.
setText
(
formatValidityDate
(
couponset
.
getEndDate
())
.
trim
()
);
tvValidity
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tvValidity
.
setVisibility
(
View
.
GONE
);
}
ivFavorite
.
setImageResource
(
R
.
drawable
.
demo_heart
);
loadCouponsetImage
(
couponset
.
getImgPreview
());
if
(
couponset
.
getMerchant
()
!=
null
&&
couponset
.
getMerchant
().
getImgPreview
()
!=
null
)
{
...
...
@@ -122,13 +118,13 @@ public class CouponsetAdapter extends RecyclerView.Adapter<CouponsetAdapter.Coup
SimpleDateFormat
inputFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
,
Locale
.
getDefault
());
Date
date
=
inputFormat
.
parse
(
endDate
);
SimpleDateFormat
outputFormat
=
new
SimpleDateFormat
(
"dd-MM"
,
Locale
.
getDefault
());
return
"
έως
"
+
outputFormat
.
format
(
date
);
return
"
until
"
+
outputFormat
.
format
(
date
);
}
catch
(
ParseException
e
)
{
try
{
SimpleDateFormat
inputFormat2
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
,
Locale
.
getDefault
());
Date
date
=
inputFormat2
.
parse
(
endDate
);
SimpleDateFormat
outputFormat
=
new
SimpleDateFormat
(
"dd-MM"
,
Locale
.
getDefault
());
return
"
έως
"
+
outputFormat
.
format
(
date
);
return
"
until
"
+
outputFormat
.
format
(
date
);
}
catch
(
ParseException
e2
)
{
return
endDate
;
}
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/utils/TopRoundedCornersTransformation.java
View file @
b3ae438
...
...
@@ -21,6 +21,7 @@ import java.security.MessageDigest;
public
class
TopRoundedCornersTransformation
extends
BitmapTransformation
{
private
static
final
String
ID
=
"ly.warp.sdk.utils.TopRoundedCornersTransformation"
;
private
final
int
radius
;
private
boolean
allRounded
=
false
;
/**
* Constructor
...
...
@@ -31,6 +32,11 @@ public class TopRoundedCornersTransformation extends BitmapTransformation {
this
.
radius
=
radius
;
}
public
TopRoundedCornersTransformation
(
int
radius
,
boolean
rounded
)
{
this
.
radius
=
radius
;
this
.
allRounded
=
rounded
;
}
@Override
protected
Bitmap
transform
(
@NonNull
BitmapPool
pool
,
@NonNull
Bitmap
toTransform
,
int
outWidth
,
int
outHeight
)
{
return
roundTopCorners
(
pool
,
toTransform
);
...
...
@@ -52,6 +58,16 @@ public class TopRoundedCornersTransformation extends BitmapTransformation {
// Create path with rounded top corners
Path
path
=
new
Path
();
RectF
rectF
=
new
RectF
(
0
,
0
,
source
.
getWidth
(),
source
.
getHeight
());
if
(
allRounded
)
{
float
[]
radii
=
new
float
[]{
radius
,
radius
,
// top-left
radius
,
radius
,
// top-right
radius
,
radius
,
// bottom-right
radius
,
radius
// bottom-left
};
path
.
addRoundRect
(
rectF
,
radii
,
Path
.
Direction
.
CW
);
}
else
{
float
[]
radii
=
new
float
[]{
radius
,
radius
,
// top-left
radius
,
radius
,
// top-right
...
...
@@ -59,6 +75,7 @@ public class TopRoundedCornersTransformation extends BitmapTransformation {
0
,
0
// bottom-left
};
path
.
addRoundRect
(
rectF
,
radii
,
Path
.
Direction
.
CW
);
}
// Draw rounded rectangle
canvas
.
drawPath
(
path
,
paint
);
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/utils/WarplyManagerHelper.java
View file @
b3ae438
...
...
@@ -38,6 +38,7 @@ import ly.warp.sdk.io.models.Campaign;
import
ly.warp.sdk.io.models.Coupon
;
import
ly.warp.sdk.io.models.CouponList
;
import
ly.warp.sdk.io.models.Couponset
;
import
ly.warp.sdk.io.models.User
;
import
ly.warp.sdk.utils.managers.WarplyManager
;
/**
...
...
@@ -59,6 +60,7 @@ public class WarplyManagerHelper {
private
static
ArrayList
<
Campaign
>
mCampaignListAll
=
new
ArrayList
<
Campaign
>();
private
static
ArrayList
<
BannerItem
>
mBannerListAll
=
new
ArrayList
<
BannerItem
>();
private
static
LinkedHashMap
<
String
,
ArrayList
<
Couponset
>>
mCouponsetCategorizedMap
=
new
LinkedHashMap
<>();
private
static
User
mUser
=
null
;
// ===========================================================
// Methods for/from SuperClass/Interfaces
...
...
@@ -68,6 +70,14 @@ public class WarplyManagerHelper {
// Methods
// ===========================================================
public
static
void
setUser
(
User
user
)
{
mUser
=
user
;
}
public
static
User
getUser
()
{
return
mUser
;
}
public
static
void
setCampaignList
(
ArrayList
<
Campaign
>
campaignList
)
{
mCampaignListAll
.
clear
();
mCampaignListAll
.
addAll
(
campaignList
);
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/utils/managers/WarplyManager.java
View file @
b3ae438
...
...
@@ -323,6 +323,7 @@ public class WarplyManager {
if
(
jUserBody
!=
null
)
{
User
user
=
new
User
(
jUserBody
);
WarplyManagerHelper
.
setUser
(
user
);
receiver
.
onSuccess
(
user
);
}
else
{
...
...
warply_android_sdk/src/main/res/drawable-xhdpi/demo_copy.png
View file @
b3ae438
2.02 KB
|
W:
|
H:
1.92 KB
|
W:
|
H:
2-up
Swipe
Onion skin
warply_android_sdk/src/main/res/drawable-xhdpi/demo_gear.png
0 → 100644
View file @
b3ae438
2.54 KB
warply_android_sdk/src/main/res/drawable-xhdpi/demo_share.png
0 → 100644
View file @
b3ae438
2.12 KB
warply_android_sdk/src/main/res/drawable/demo_shape_grey.xml
0 → 100644
View file @
b3ae438
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<corners
android:radius=
"1000dp"
/>
<solid
android:color=
"@color/custom_grey6"
/>
</shape>
\ No newline at end of file
warply_android_sdk/src/main/res/drawable/demo_shape_white_border_grey.xml
View file @
b3ae438
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"
9
dp"
/>
<corners
android:radius=
"
12
dp"
/>
<solid
android:color=
"@color/white"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/custom_grey"
/>
android:color=
"@color/custom_grey
7
"
/>
</shape>
\ No newline at end of file
...
...
warply_android_sdk/src/main/res/drawable/shape_rectangle_rounded_grey.xml
0 → 100644
View file @
b3ae438
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"1000dp"
/>
<solid
android:width=
"2dp"
android:color=
"@color/custom_grey5"
/>
</shape>
\ No newline at end of file
warply_android_sdk/src/main/res/drawable/shape_rectangle_rounded_grey2.xml
0 → 100644
View file @
b3ae438
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"13dp"
/>
<solid
android:color=
"@color/custom_grey5"
/>
</shape>
\ No newline at end of file
warply_android_sdk/src/main/res/layout/activity_home.xml
View file @
b3ae438
...
...
@@ -3,7 +3,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/
custom_grey_light
"
>
android:background=
"@color/
white
"
>
<androidx.core.widget.NestedScrollView
android:id=
"@+id/home_scrollview"
...
...
@@ -22,38 +22,45 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:background=
"@color/
custom_grey_light
"
android:background=
"@color/
white
"
android:orientation=
"horizontal"
android:paddingHorizontal=
"16dp"
android:padding
Bottom
=
"16dp"
android:padding
Top
=
"16dp"
>
android:padding
Top
=
"16dp"
android:padding
Bottom
=
"16dp"
>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_weight=
"1"
android:orientation=
"horizontal"
>
android:gravity=
"center_vertical"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/green_icon"
android:layout_width=
"58dp"
android:layout_height=
"22dp"
android:layout_marginEnd=
"8dp"
android:src=
"@drawable/demo_green"
/>
<TextView
android:id=
"@+id/tv_header_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:includeFontPadding=
"false"
android:text=
"@string/demo_rewards_title"
android:textColor=
"@color/custom_black6"
android:textSize=
"28sp"
/>
<LinearLayout
android:id=
"@+id/ll_user_tags"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"4dp"
android:orientation=
"horizontal"
android:visibility=
"gone"
/>
<ImageView
android:id=
"@+id/family_icon"
android:layout_width=
"58dp"
android:layout_height=
"22dp"
android:src=
"@drawable/demo_family"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/profile_icon"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
android:src=
"@drawable/demo_profile"
/>
android:layout_width=
"46dp"
android:layout_height=
"46dp"
android:background=
"@drawable/shape_rectangle_rounded_grey"
android:padding=
"14dp"
android:src=
"@drawable/demo_gear"
/>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
...
...
@@ -61,26 +68,38 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<androidx.
viewpager2.widget.ViewPager2
<androidx.
recyclerview.widget.RecyclerView
android:id=
"@+id/banner_viewpager"
android:layout_width=
"match_parent"
android:layout_height=
"320dp"
android:layout_height=
"wrap_content"
android:clipToPadding=
"false"
android:orientation=
"horizontal"
android:paddingHorizontal=
"16dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<LinearLayout
android:id=
"@+id/dots_container"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@color/custom_grey_light"
android:gravity=
"center"
android:orientation=
"horizontal"
android:padding=
"4dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
/>
<!-- <androidx.viewpager2.widget.ViewPager2-->
<!-- android:id="@+id/banner_viewpager"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="320dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <LinearLayout-->
<!-- android:id="@+id/dots_container"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="50dp"-->
<!-- android:background="@color/white"-->
<!-- android:gravity="center"-->
<!-- android:orientation="horizontal"-->
<!-- android:padding="4dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent" />-->
<RelativeLayout
android:id=
"@+id/pb_loading"
...
...
@@ -110,8 +129,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"48dp"
android:
paddingBottom=
"16dp
"
android:
orientation=
"vertical
"
/>
android:
orientation=
"vertical
"
android:
paddingBottom=
"16dp
"
/>
<RelativeLayout
android:id=
"@+id/rl_sections_loading"
...
...
warply_android_sdk/src/main/res/layout/activity_single_coupon.xml
View file @
b3ae438
...
...
@@ -3,7 +3,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/
custom_grey_light
"
>
android:background=
"@color/
white
"
>
<ScrollView
android:id=
"@+id/coupon_scrollview"
...
...
@@ -114,6 +114,16 @@
android:textColor=
"@color/custom_black2"
android:textSize=
"17sp"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/iv_share_coupon"
android:layout_width=
"48dp"
android:layout_height=
"48dp"
android:background=
"@drawable/shape_rectangle_rounded_grey"
android:padding=
"14dp"
android:src=
"@drawable/demo_share"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
...
...
@@ -225,10 +235,16 @@
android:textSize=
"17sp"
tools:text=
"BDTK0Y8UD8"
/>
<View
android:layout_width=
"4dp"
android:layout_height=
"match_parent"
/>
<ImageView
android:id=
"@+id/iv_copy_code"
android:layout_width=
"32dp"
android:layout_height=
"32dp"
android:layout_width=
"24dp"
android:layout_height=
"24dp"
android:background=
"@drawable/shape_rectangle_rounded_grey"
android:padding=
"6dp"
android:src=
"@drawable/demo_copy"
/>
</LinearLayout>
</LinearLayout>
...
...
warply_android_sdk/src/main/res/layout/activity_single_couponset.xml
View file @
b3ae438
...
...
@@ -3,7 +3,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/
custom_grey_light
"
>
android:background=
"@color/
white
"
>
<ScrollView
android:id=
"@+id/coupon_scrollview"
...
...
warply_android_sdk/src/main/res/layout/demo_item_offer.xml
View file @
b3ae438
...
...
@@ -2,31 +2,25 @@
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"2
7
0dp"
android:layout_height=
"2
6
0dp"
android:layout_width=
"2
6
0dp"
android:layout_height=
"2
3
0dp"
android:background=
"@drawable/demo_shape_white_border_grey"
>
<ImageView
android:id=
"@+id/iv_offer_image"
android:layout_width=
"match_parent"
android:layout_height=
"1
4
0dp"
android:layout_height=
"1
3
0dp"
android:scaleType=
"centerCrop"
/>
<ImageView
android:id=
"@+id/iv_favorite"
android:layout_width=
"32dp"
android:layout_height=
"32dp"
android:layout_margin=
"8dp"
android:src=
"@drawable/demo_heart"
/>
<TextView
android:id=
"@+id/tv_price"
android:layout_width=
"
68
dp"
android:layout_height=
"
68
dp"
android:layout_width=
"
54
dp"
android:layout_height=
"
54
dp"
android:layout_alignParentEnd=
"true"
android:layout_margin=
"8dp"
android:background=
"@drawable/demo_shape_
pink
"
android:background=
"@drawable/demo_shape_
grey
"
android:gravity=
"center"
android:includeFontPadding=
"false"
android:textColor=
"@android:color/white"
android:textSize=
"16sp"
tools:text=
"17,95€"
/>
...
...
@@ -51,7 +45,8 @@
android:layout_height=
"wrap_content"
android:maxLines=
"1"
android:textColor=
"@color/custom_black2"
android:textSize=
"16sp"
android:textSize=
"15sp"
android:includeFontPadding=
"false"
app:layout_constraintEnd_toStartOf=
"@+id/gl_vertical_70"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
...
...
@@ -63,6 +58,7 @@
android:layout_height=
"wrap_content"
android:layout_marginTop=
"2dp"
android:maxLines=
"2"
android:includeFontPadding=
"false"
android:textColor=
"@color/custom_black3"
android:textSize=
"13sp"
app:layout_constraintEnd_toStartOf=
"@+id/gl_vertical_70"
...
...
@@ -78,7 +74,8 @@
android:layout_centerVertical=
"true"
android:layout_marginTop=
"12dp"
android:maxLines=
"1"
android:textColor=
"@color/custom_black3"
android:includeFontPadding=
"false"
android:textColor=
"@color/custom_grey4"
android:textSize=
"12sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
warply_android_sdk/src/main/res/layout/item_banner.xml
View file @
b3ae438
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_width=
"350dp"
android:layout_height=
"130dp"
android:background=
"@drawable/shape_rectangle_rounded_grey2"
>
<ImageView
android:id=
"@+id/iv_banner"
...
...
warply_android_sdk/src/main/res/layout/item_couponset_section.xml
View file @
b3ae438
...
...
@@ -2,8 +2,7 @@
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"48dp"
>
android:layout_height=
"wrap_content"
>
<LinearLayout
android:id=
"@+id/ll_section_header"
...
...
@@ -19,19 +18,35 @@
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:textColor=
"@color/custom_black2"
android:textSize=
"1
6
sp"
android:textSize=
"1
5
sp"
tools:text=
"Top Offers (10)"
/>
<LinearLayout
android:id=
"@+id/ll_all"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:gravity=
"center"
android:paddingHorizontal=
"16dp"
>
<TextView
android:id=
"@+id/tv_section_all"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/demo_shape_transparent_border_black"
android:paddingHorizontal=
"16dp"
android:paddingVertical=
"5dp"
android:text=
"@string/demo_all"
android:textColor=
"@color/custom_black3"
android:textSize=
"14sp"
/>
android:textSize=
"15sp"
/>
<View
android:layout_width=
"4dp"
android:layout_height=
"match_parent"
/>
<ImageView
android:layout_width=
"8dp"
android:layout_height=
"4dp"
android:rotation=
"270"
android:src=
"@drawable/ic_arrow_down"
/>
</LinearLayout>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
...
...
warply_android_sdk/src/main/res/values/colors.xml
View file @
b3ae438
...
...
@@ -32,4 +32,7 @@
<color
name=
"custom_skyblue5"
>
#CCE9FB
</color>
<color
name=
"custom_green"
>
#0D9E5B
</color>
<color
name=
"custom_light_green"
>
#DBF6E6
</color>
<color
name=
"custom_grey5"
>
#F1F2F4
</color>
<color
name=
"custom_grey6"
>
#CBCBCB
</color>
<color
name=
"custom_grey7"
>
#D2D6D9
</color>
</resources>
...
...
warply_android_sdk/src/main/res/values/strings.xml
View file @
b3ae438
...
...
@@ -7,7 +7,7 @@
<string
name=
"menu_home"
>
Αρχική
</string>
<string
name=
"demo_home"
>
Αρχική οθόνη
</string>
<string
name=
"demo_login"
>
Σύνδεση
</string>
<string
name=
"demo_all"
>
Όλα
</string>
<string
name=
"demo_all"
>
All
</string>
<string
name=
"demo_offer"
>
Προσφορά
</string>
<string
name=
"demo_more"
>
View more
</string>
<string
name=
"demo_less"
>
View less
</string>
...
...
@@ -28,4 +28,7 @@
<string
name=
"demo_active"
>
Ενεργά
</string>
<string
name=
"demo_redeemed"
>
Εξαργυρωμένα
</string>
<string
name=
"demo_favorites"
>
Αγαπημένα
</string>
<string
name=
"demo_rewards_title"
>
Rewards
</string>
<string
name=
"demo_green_title"
>
green
</string>
<string
name=
"demo_family_title"
>
family
</string>
</resources>
...
...
Please
register
or
login
to post a comment