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-06 14:57:45 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e101ec41d9a0540cf1eb8655635bd89400b14698
e101ec41
1 parent
6f172404
accessibility market pass, minor fixes
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
154 additions
and
26 deletions
warply_android_sdk/src/main/java/ly/warp/sdk/activities/MarketPassActivity.java
warply_android_sdk/src/main/java/ly/warp/sdk/activities/MarketPassInfoActivity.java
warply_android_sdk/src/main/res/layout/activity_market_pass.xml
warply_android_sdk/src/main/res/layout/activity_market_pass_info.xml
warply_android_sdk/src/main/res/layout/activity_shops.xml
warply_android_sdk/src/main/res/layout/activity_shops_huawei.xml
warply_android_sdk/src/main/res/values/strings.xml
warply_android_sdk/src/main/java/ly/warp/sdk/activities/MarketPassActivity.java
View file @
e101ec4
...
...
@@ -12,14 +12,19 @@ import android.text.Spanned;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.accessibility.AccessibilityEvent
;
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.cardview.widget.CardView
;
import
androidx.core.content.res.ResourcesCompat
;
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
;
...
...
@@ -92,6 +97,68 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
mPbLoading
.
setVisibility
(
View
.
VISIBLE
);
// WarplyManager.getMarketPassDetails(mMarketPassDetailsCallback);
//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
(
mIvInfo
,
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_market_Pass_info_title
));
}
});
ViewCompat
.
setAccessibilityDelegate
(
mTvBarcode
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.TextView"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
accessibility_market_pass_barcode_value
)
+
", "
+
mTvBarcode
.
getText
().
toString
());
}
});
mIvBarcode
.
setImportantForAccessibility
(
View
.
IMPORTANT_FOR_ACCESSIBILITY_YES
);
ViewCompat
.
setAccessibilityDelegate
(
mIvBarcode
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.ImageView"
);
info
.
setContentDescription
(
getString
(
R
.
string
.
accessibility_market_pass_barcode
));
}
});
ViewCompat
.
setAccessibilityDelegate
(
mLlMap
,
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_pass_map
));
}
});
initViews
();
}
...
...
@@ -148,42 +215,53 @@ public class MarketPassActivity extends Activity implements View.OnClickListener
mIvInfo
.
setOnClickListener
(
this
);
mLlMap
.
setOnClickListener
(
this
);
if
(
WarplyManagerHelper
.
getMarketPassDetails
()
!=
null
)
{
if
(
WarplyManagerHelper
.
getMarketPassDetails
()
!=
null
)
{
// if (mMarketPassDetails != null)
createBarcodeBitmap
(
WarplyManagerHelper
.
getMarketPassDetails
().
getBarcode
());
createBarcodeBitmap
(
WarplyManagerHelper
.
getMarketPassDetails
().
getBarcode
());
// if (mMarketPassDetails != null) {
String
passValue
=
String
.
format
(
Locale
.
US
,
"%.2f"
,
WarplyManagerHelper
.
getMarketPassDetails
().
getTotalDiscount
());
String
fullText
=
String
.
format
(
getString
(
R
.
string
.
cos_market_pass_coupons_title
),
passValue
);
int
startIndex
=
fullText
.
indexOf
(
passValue
);
int
endIndex
=
startIndex
+
passValue
.
length
();
SpannableStringBuilder
sBuilder
=
new
SpannableStringBuilder
(
fullText
);
Typeface
typefaceBold
=
ResourcesCompat
.
getFont
(
this
,
R
.
font
.
peridot_bold
);
CustomTypefaceSpan
typefaceBoldSpan
=
new
CustomTypefaceSpan
(
typefaceBold
);
sBuilder
.
setSpan
(
typefaceBoldSpan
,
startIndex
,
endIndex
,
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
mTvPassCount
.
setText
(
sBuilder
,
TextView
.
BufferType
.
SPANNABLE
);
String
passValue
=
String
.
format
(
Locale
.
US
,
"%.2f"
,
WarplyManagerHelper
.
getMarketPassDetails
().
getTotalDiscount
());
String
fullText
=
String
.
format
(
getString
(
R
.
string
.
cos_market_pass_coupons_title
),
passValue
);
int
startIndex
=
fullText
.
indexOf
(
passValue
);
int
endIndex
=
startIndex
+
passValue
.
length
();
SpannableStringBuilder
sBuilder
=
new
SpannableStringBuilder
(
fullText
);
Typeface
typefaceBold
=
ResourcesCompat
.
getFont
(
this
,
R
.
font
.
peridot_bold
);
CustomTypefaceSpan
typefaceBoldSpan
=
new
CustomTypefaceSpan
(
typefaceBold
);
sBuilder
.
setSpan
(
typefaceBoldSpan
,
startIndex
,
endIndex
,
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
mTvPassCount
.
setText
(
sBuilder
,
TextView
.
BufferType
.
SPANNABLE
);
// }
// if (mMarketPassDetails != null) {
for
(
int
i
=
0
;
i
<
WarplyManagerHelper
.
getMarketPassDetails
().
getSupermarkets
().
size
();
i
++)
{
int
tempIndex
=
i
;
LayoutInflater
vi
=
(
LayoutInflater
)
getApplicationContext
().
getSystemService
(
Context
.
LAYOUT_INFLATER_SERVICE
);
RelativeLayout
v
=
(
RelativeLayout
)
vi
.
inflate
(
R
.
layout
.
item_sheet_image
,
null
);
for
(
int
i
=
0
;
i
<
WarplyManagerHelper
.
getMarketPassDetails
().
getSupermarkets
().
size
();
i
++)
{
int
tempIndex
=
i
;
LayoutInflater
vi
=
(
LayoutInflater
)
getApplicationContext
().
getSystemService
(
Context
.
LAYOUT_INFLATER_SERVICE
);
RelativeLayout
v
=
(
RelativeLayout
)
vi
.
inflate
(
R
.
layout
.
item_sheet_image
,
null
);
ImageView
merchantLogo
=
(
ImageView
)
v
.
findViewById
(
R
.
id
.
iv_market_logo
);
Glide
.
with
(
this
)
ImageView
merchantLogo
=
(
ImageView
)
v
.
findViewById
(
R
.
id
.
iv_market_logo
);
Glide
.
with
(
this
)
// .setDefaultRequestOptions(
// RequestOptions
// .placeholderOf(R.drawable.ic_default_contact_photo)
// .error(R.drawable.ic_default_contact_photo))
.
load
(
WarplyManagerHelper
.
getMarketPassDetails
().
getSupermarkets
().
get
(
i
).
getLogo
())
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
into
(
merchantLogo
);
mLlParentLogosView
.
addView
(
v
,
tempIndex
,
new
ViewGroup
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
));
.
load
(
WarplyManagerHelper
.
getMarketPassDetails
().
getSupermarkets
().
get
(
i
).
getLogo
())
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
into
(
merchantLogo
);
merchantLogo
.
setImportantForAccessibility
(
View
.
IMPORTANT_FOR_ACCESSIBILITY_YES
);
ViewCompat
.
setAccessibilityDelegate
(
merchantLogo
,
new
AccessibilityDelegateCompat
()
{
@Override
public
void
onInitializeAccessibilityNodeInfo
(
View
host
,
@NonNull
AccessibilityNodeInfoCompat
info
)
{
super
.
onInitializeAccessibilityNodeInfo
(
host
,
info
);
info
.
setClassName
(
"android.widget.ImageView"
);
info
.
setContentDescription
(
WarplyManagerHelper
.
getMarketPassDetails
().
getSupermarkets
().
get
(
tempIndex
).
getName
());
}
});
mLlParentLogosView
.
addView
(
v
,
tempIndex
,
new
ViewGroup
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
));
}
}
// }
mCvMarketDetails
.
setVisibility
(
View
.
VISIBLE
);
...
...
warply_android_sdk/src/main/java/ly/warp/sdk/activities/MarketPassInfoActivity.java
View file @
e101ec4
...
...
@@ -3,10 +3,16 @@ package ly.warp.sdk.activities;
import
android.app.Activity
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.accessibility.AccessibilityEvent
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.core.view.AccessibilityDelegateCompat
;
import
androidx.core.view.ViewCompat
;
import
androidx.core.view.accessibility.AccessibilityNodeInfoCompat
;
import
ly.warp.sdk.R
;
import
ly.warp.sdk.utils.WarpUtils
;
import
ly.warp.sdk.utils.managers.WarplyAnalyticsManager
;
...
...
@@ -54,6 +60,39 @@ public class MarketPassInfoActivity extends Activity implements View.OnClickList
WarpUtils
.
renderCustomFont
(
this
,
R
.
font
.
peridot_regular
,
mTvBasketSubtitle
,
mTvEshopSubtitle
,
mTvAbSubtitle
);
//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
(
mLlPassReturn
,
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_market_pass_return
));
}
});
initViews
();
}
...
...
warply_android_sdk/src/main/res/layout/activity_market_pass.xml
View file @
e101ec4
...
...
@@ -22,6 +22,7 @@
android:layout_height=
"48dp"
android:layout_marginStart=
"16dp"
android:scaleType=
"centerInside"
android:contentDescription=
"@string/accessibility_back"
android:src=
"@drawable/ic_back"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
@@ -33,6 +34,7 @@
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:text=
"@string/cos_market_title"
android:contentDescription=
"@string/cos_market_title"
android:textColor=
"@color/cos_light_black"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
@@ -149,8 +151,7 @@
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/rl_parent_pass"
android:background=
"@color/cos_green14"
android:gravity=
"center"
android:paddingVertical=
"16dp"
>
android:gravity=
"center"
>
<TextView
android:id=
"@+id/tv_total_pass_title"
...
...
@@ -160,6 +161,7 @@
android:letterSpacing=
"0.04"
android:textColor=
"@color/white"
android:textSize=
"16sp"
android:paddingVertical=
"16dp"
app:lineHeight=
"22dp"
/>
</LinearLayout>
...
...
warply_android_sdk/src/main/res/layout/activity_market_pass_info.xml
View file @
e101ec4
...
...
@@ -22,6 +22,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"
/>
...
...
@@ -32,6 +33,7 @@
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:text=
"@string/cos_market_Pass_info_title"
android:contentDescription=
"@string/cos_market_Pass_info_title"
android:textColor=
"@color/cos_light_black"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
warply_android_sdk/src/main/res/layout/activity_shops.xml
View file @
e101ec4
...
...
@@ -16,6 +16,7 @@
android:layout_height=
"48dp"
android:layout_marginStart=
"16dp"
android:scaleType=
"centerInside"
android:contentDescription=
"@string/accessibility_back"
android:src=
"@drawable/ic_back"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
@@ -26,6 +27,7 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/cos_coupon_shops_title"
android:contentDescription=
"@string/cos_coupon_shops_title"
android:textColor=
"@color/cos_light_black"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
warply_android_sdk/src/main/res/layout/activity_shops_huawei.xml
View file @
e101ec4
...
...
@@ -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_shops_title"
android:contentDescription=
"@string/cos_coupon_shops_title"
android:textColor=
"@color/cos_light_black"
android:textSize=
"19sp"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
warply_android_sdk/src/main/res/values/strings.xml
View file @
e101ec4
...
...
@@ -274,6 +274,9 @@
<string
name=
"accessibility_phone"
>
Τηλέφωνο
</string>
<string
name=
"accessibility_address"
>
Διεύθυνση
</string>
<string
name=
"accessibility_shop_logo"
>
Λογότυπο καταστήματος
</string>
<string
name=
"accessibility_market_pass_info"
>
Πληροφορίες
</string>
<string
name=
"accessibility_market_pass_barcode_value"
>
Αριθμός barcode
</string>
<string
name=
"accessibility_market_pass_barcode"
>
Barcode
</string>
<string-array
name=
"coupons_array"
>
<item>
Κουπόνια
</item>
...
...
Please
register
or
login
to post a comment