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
2025-02-05 15:45:01 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
9e03b654b66c4d01e4337246d5485d6e042d0c97
9e03b654
1 parent
874977a2
accessibility coupon share, accessibility fixes
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
140 additions
and
22 deletions
warply_android_sdk/src/main/java/ly/warp/sdk/activities/ContextualActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/activities/CouponInfoActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/activities/CouponShareActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/activities/TelcoActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/utils/WarplyManagerHelper.java
warply_android_sdk/src/main/res/layout/activity_coupon_share.xml
warply_android_sdk/src/main/res/layout/dl_share.xml
warply_android_sdk/src/main/res/layout/item_share.xml
warply_android_sdk/src/main/res/values/attrs.xml
warply_android_sdk/src/main/res/values/strings.xml
warply_android_sdk/src/main/java/ly/warp/sdk/activities/ContextualActivity.java
View file @
9e03b65
...
...
@@ -200,7 +200,7 @@ public class ContextualActivity extends Activity implements View.OnClickListener
tvHeader
.
setText
(
R
.
string
.
cos_coupon_share_telco
);
LinearLayout
parent
=
bottomSheetDialog
.
findViewById
(
R
.
id
.
ll_share_dialog_view_inner
);
ImageView
dialogClose
=
(
ImageView
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
iv
_sender_list_close
);
RelativeLayout
dialogClose
=
(
RelativeLayout
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
rl
_sender_list_close
);
dialogClose
.
setOnClickListener
(
view
->
{
mIsActivatePressed
=
false
;
bottomSheetDialog
.
dismiss
();
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/activities/CouponInfoActivity.java
View file @
9e03b65
...
...
@@ -496,8 +496,12 @@ public class CouponInfoActivity extends Activity implements View.OnClickListener
if
(
mCoupon
!=
null
)
{
if
(
mIsFromWallet
)
{
if
(
mCoupon
.
getMerchantDetails
()
!=
null
)
{
mTvDescription
.
setVisibility
(
View
.
GONE
);
mTvDescription
.
setText
(
HtmlCompat
.
fromHtml
(
mCoupon
.
getMerchantDetails
().
getBody
(),
HtmlCompat
.
FROM_HTML_MODE_COMPACT
));
mTvDescription
.
setMovementMethod
(
LinkMovementMethod
.
getInstance
());
mLlShops
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
mTvDescription
.
setVisibility
(
View
.
GONE
);
}
if
(
mIsUnified
)
{
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/activities/CouponShareActivity.java
View file @
9e03b65
...
...
@@ -9,13 +9,18 @@ import android.util.Log;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.accessibility.AccessibilityEvent
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.core.view.AccessibilityDelegateCompat
;
import
androidx.core.view.ViewCompat
;
import
androidx.core.view.accessibility.AccessibilityNodeInfoCompat
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
...
...
@@ -112,6 +117,48 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
WarpUtils
.
renderCustomFont
(
this
,
R
.
font
.
peridot_regular
,
mFontDescription
,
mTvPhoneHeader
,
mEdtReceiver
);
WarpUtils
.
renderCustomFont
(
this
,
R
.
font
.
peridot_semi_bold
,
mFontButtonShare
);
//Accessibility
ViewCompat
.
setAccessibilityDelegate
(
mFontHeader
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.TextView"
);
info
.
setHeading
(
true
);
}
});
mFontHeader
.
sendAccessibilityEvent
(
AccessibilityEvent
.
TYPE_VIEW_FOCUSED
);
ViewCompat
.
setAccessibilityDelegate
(
mIvBack
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.Button"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
accessibility_back
));
}
});
mIvBack
.
setImportantForAccessibility
(
View
.
IMPORTANT_FOR_ACCESSIBILITY_NO
);
mIvBack
.
postDelayed
(()
->
{
mIvBack
.
setImportantForAccessibility
(
View
.
IMPORTANT_FOR_ACCESSIBILITY_YES
);
},
1000
);
ViewCompat
.
setAccessibilityDelegate
(
mLlShareButton
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.Button"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
cos_coupon_share_button
));
}
});
ViewCompat
.
setAccessibilityDelegate
(
mRlSenderView
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.Button"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
cos_coupon_share_sender
)
+
", "
+
WarplyManagerHelper
.
formatPhoneNumber
(
mSender
));
}
});
initViews
();
}
...
...
@@ -208,10 +255,30 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
bottomSheetDialog
.
dismiss
();
});
LinearLayout
parent
=
bottomSheetDialog
.
findViewById
(
R
.
id
.
ll_share_dialog_view_inner
);
TextView
header
=
bottomSheetDialog
.
findViewById
(
R
.
id
.
tv_sender_value
);
ImageView
dialogClose
=
(
ImageView
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
iv
_sender_list_close
);
RelativeLayout
dialogClose
=
(
RelativeLayout
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
rl
_sender_list_close
);
dialogClose
.
setOnClickListener
(
view
->
bottomSheetDialog
.
dismiss
());
ViewCompat
.
setAccessibilityDelegate
(
header
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.TextView"
);
info
.
setHeading
(
true
);
}
});
header
.
sendAccessibilityEvent
(
AccessibilityEvent
.
TYPE_VIEW_FOCUSED
);
ViewCompat
.
setAccessibilityDelegate
(
dialogClose
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.Button"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
accessibility_close
));
}
});
if
(
mConsumer
!=
null
)
{
try
{
JSONObject
profMeta
=
new
JSONObject
(
mConsumer
.
getProfileMetadata
());
...
...
@@ -231,6 +298,16 @@ public class CouponShareActivity extends Activity implements View.OnClickListene
mSender
=
tv
.
getText
().
toString
();
bottomSheetDialog
.
dismiss
();
});
ViewCompat
.
setAccessibilityDelegate
(
textView
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.TextView"
);
info
.
setContentDescription
(
WarplyManagerHelper
.
formatPhoneNumber
(
textView
.
getText
().
toString
()));
}
});
parent
.
addView
(
v
,
0
,
new
ViewGroup
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
));
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/activities/TelcoActivity.java
View file @
9e03b65
...
...
@@ -192,7 +192,7 @@ public class TelcoActivity extends Activity implements View.OnClickListener {
tvHeader
.
setText
(
R
.
string
.
cos_coupon_share_telco
);
LinearLayout
parent
=
bottomSheetDialog
.
findViewById
(
R
.
id
.
ll_share_dialog_view_inner
);
ImageView
dialogClose
=
(
ImageView
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
iv
_sender_list_close
);
RelativeLayout
dialogClose
=
(
RelativeLayout
)
bottomSheetDialog
.
findViewById
(
R
.
id
.
rl
_sender_list_close
);
dialogClose
.
setOnClickListener
(
view
->
{
mIsActivatePressed
=
false
;
bottomSheetDialog
.
dismiss
();
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/utils/WarplyManagerHelper.java
View file @
9e03b65
...
...
@@ -1615,6 +1615,25 @@ public class WarplyManagerHelper {
WorkManager
.
getInstance
(
Warply
.
getWarplyContext
()).
enqueue
(
mywork
);
}
public
static
String
formatPhoneNumber
(
String
phoneNumber
)
{
// Remove non-digit characters if any
String
digits
=
phoneNumber
.
replaceAll
(
"\\D"
,
""
);
// Format the digits with spaces after each character
StringBuilder
formatted
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
digits
.
length
();
i
++)
{
formatted
.
append
(
digits
.
charAt
(
i
));
formatted
.
append
(
" "
);
// Add a space after every character
}
// Remove the trailing space at the end
if
(
formatted
.
length
()
>
0
)
{
formatted
.
deleteCharAt
(
formatted
.
length
()
-
1
);
}
return
formatted
.
toString
();
}
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
...
...
warply_android_sdk/src/main/res/layout/activity_coupon_share.xml
View file @
9e03b65
...
...
@@ -18,6 +18,7 @@
android:layout_marginStart=
"16dp"
android:scaleType=
"centerInside"
android:src=
"@drawable/ic_back"
android:contentDescription=
"@string/accessibility_back"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
...
...
@@ -27,6 +28,7 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/cos_coupon_gift"
android:contentDescription=
"@string/cos_coupon_gift"
android:textColor=
"@color/cos_light_black"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
@@ -61,6 +63,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"222dp"
android:scaleType=
"centerCrop"
android:contentDescription=
"@string/accessibility_coupon_image"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:src=
"@drawable/carousel_banner"
/>
...
...
@@ -96,7 +99,7 @@
<RelativeLayout
android:id=
"@+id/ll_share_view"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
40dp
"
android:layout_marginHorizontal=
"24dp"
android:layout_marginTop=
"32dp"
app:layout_constraintEnd_toEndOf=
"parent"
...
...
@@ -106,10 +109,11 @@
<TextView
android:id=
"@+id/tv_phone"
android:layout_width=
"wrap_content"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_alignParentStart=
"true"
android:layout_centerVertical=
"true"
android:text=
"@string/cos_coupon_share_sender"
android:gravity=
"center_vertical"
android:textColor=
"@color/cos_gray2"
android:textSize=
"16sp"
/>
...
...
@@ -126,7 +130,7 @@
android:id=
"@+id/v_separator"
android:layout_width=
"0dp"
android:layout_height=
"1dp"
android:layout_marginTop=
"
20
dp"
android:layout_marginTop=
"
12
dp"
android:background=
"@color/cos_grey7"
app:layout_constraintEnd_toEndOf=
"@+id/ll_share_view"
app:layout_constraintStart_toStartOf=
"@+id/ll_share_view"
...
...
@@ -135,7 +139,7 @@
<RelativeLayout
android:id=
"@+id/ll_share_view2"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
40dp
"
android:layout_marginHorizontal=
"24dp"
android:layout_marginTop=
"48dp"
app:layout_constraintEnd_toEndOf=
"parent"
...
...
@@ -145,7 +149,7 @@
<EditText
android:id=
"@+id/et_phone"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_alignParentStart=
"true"
android:layout_centerVertical=
"true"
android:background=
"@android:color/transparent"
...
...
@@ -160,7 +164,7 @@
android:id=
"@+id/v_separator2"
android:layout_width=
"0dp"
android:layout_height=
"1dp"
android:layout_marginTop=
"
20
dp"
android:layout_marginTop=
"
12
dp"
android:background=
"@color/cos_grey7"
app:layout_constraintEnd_toEndOf=
"@+id/ll_share_view2"
app:layout_constraintStart_toStartOf=
"@+id/ll_share_view2"
...
...
warply_android_sdk/src/main/res/layout/dl_share.xml
View file @
9e03b65
...
...
@@ -3,33 +3,43 @@
android:id=
"@+id/rl_share_dialog_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:
orientation=
"vertical
"
android:
background=
"@drawable/shape_cos_white_rounded_top
"
>
android:
background=
"@drawable/shape_cos_white_rounded_top
"
android:
orientation=
"vertical
"
>
<RelativeLayout
android:id=
"@+id/rl_sender_list"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
40dp
"
android:layout_marginBottom=
"24dp"
android:paddingTop=
"16dp"
>
<TextView
android:id=
"@+id/tv_sender_value"
android:layout_width=
"wrap_content"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_alignParentStart=
"true"
android:layout_marginStart=
"24dp"
android:gravity=
"center_vertical"
android:contentDescription=
"@string/cos_coupon_share_sender"
android:text=
"@string/cos_coupon_share_sender"
android:textColor=
"@color/cos_light_black"
android:textSize=
"16sp"
/>
<
ImageView
android:id=
"@+id/
iv
_sender_list_close"
android:layout_width=
"
16
dp"
android:layout_height=
"
16
dp"
<
RelativeLayout
android:id=
"@+id/
rl
_sender_list_close"
android:layout_width=
"
32
dp"
android:layout_height=
"
32
dp"
android:layout_alignParentEnd=
"true"
android:layout_marginEnd=
"24dp"
android:src=
"@drawable/ic_close"
/>
android:gravity=
"center"
>
<ImageView
android:id=
"@+id/iv_sender_list_close"
android:layout_width=
"16dp"
android:layout_height=
"16dp"
android:contentDescription=
"@string/accessibility_close"
android:src=
"@drawable/ic_close"
/>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
...
...
warply_android_sdk/src/main/res/layout/item_share.xml
View file @
9e03b65
...
...
@@ -11,17 +11,18 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"12dp"
android:layout_marginTop=
"1
6
dp"
>
android:layout_marginTop=
"1
0
dp"
>
<TextView
android:id=
"@+id/tv_phone_share"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
40dp
"
android:layout_alignParentStart=
"true"
android:layout_centerVertical=
"true"
android:background=
"@android:color/transparent"
android:textColor=
"@color/cos_light_black"
android:textSize=
"16sp"
android:gravity=
"center_vertical"
tools:text=
"6987654322"
/>
</RelativeLayout>
...
...
@@ -29,7 +30,7 @@
android:id=
"@+id/v_separator2"
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginTop=
"
2
0dp"
android:layout_marginTop=
"
1
0dp"
android:background=
"@color/cos_grey7"
app:layout_constraintEnd_toEndOf=
"@+id/ll_share_view2"
app:layout_constraintStart_toStartOf=
"@+id/ll_share_view2"
...
...
warply_android_sdk/src/main/res/values/attrs.xml
View file @
9e03b65
...
...
@@ -9,5 +9,6 @@
<enum
name=
"horizontal"
value=
"0"
/>
<enum
name=
"vertical"
value=
"1"
/>
</attr>
<attr
name=
"colorPrimary"
format=
"color"
/>
</declare-styleable>
</resources>
\ No newline at end of file
...
...
warply_android_sdk/src/main/res/values/strings.xml
View file @
9e03b65
...
...
@@ -262,10 +262,12 @@
<string
name=
"cos_logout_text"
>
Αποσύνδεση
</string>
<string
name=
"accessibility_back"
>
Πίσω
</string>
<string
name=
"accessibility_close"
>
Κλείσιμο
</string>
<string
name=
"accessibility_history"
>
Ιστορικό
</string>
<string
name=
"accessibility_coupon_image"
>
Φωτογραφία εκπτωτικού κουπονιού
</string>
<string
name=
"accessibility_expand"
>
Ανεπτυγμένο
</string>
<string
name=
"accessibility_collapse"
>
Συμπτυγμένο
</string>
<string
name=
"accessibility_activate"
>
Διπλό πάτημα για επιλογή
</string>
<string-array
name=
"coupons_array"
>
<item>
Κουπόνια
</item>
...
...
Please
register
or
login
to post a comment