Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
scanqrwhite2copy1
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
scanqrwhite2copy1
Commits
ae838a24
Commit
ae838a24
authored
Feb 20, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
fc066f04
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
103 additions
and
41 deletions
+103
-41
QrResultsActivity.kt
...rc/main/java/com/base/scanqrclear/qr/QrResultsActivity.kt
+1
-1
CreateFragment.kt
.../main/java/com/base/scanqrclear/ui/main/CreateFragment.kt
+15
-7
HeadAdapter.kt
...src/main/java/com/base/scanqrclear/ui/main/HeadAdapter.kt
+32
-0
OpenFoodDialog.kt
...ain/java/com/base/scanqrclear/ui/widget/OpenFoodDialog.kt
+9
-3
dialog_open_food.xml
app/src/main/res/layout/dialog_open_food.xml
+6
-3
fragment_create.xml
app/src/main/res/layout/fragment_create.xml
+3
-27
item_head_create.xml
app/src/main/res/layout/item_head_create.xml
+37
-0
grade_a.png
app/src/main/res/mipmap-xxhdpi/grade_a.png
+0
-0
grade_b.png
app/src/main/res/mipmap-xxhdpi/grade_b.png
+0
-0
grade_c.png
app/src/main/res/mipmap-xxhdpi/grade_c.png
+0
-0
grade_d.png
app/src/main/res/mipmap-xxhdpi/grade_d.png
+0
-0
grade_e.png
app/src/main/res/mipmap-xxhdpi/grade_e.png
+0
-0
nova_na.png
app/src/main/res/mipmap-xxhdpi/nova_na.png
+0
-0
No files found.
app/src/main/java/com/base/scanqrclear/qr/QrResultsActivity.kt
View file @
ae838a24
...
@@ -39,7 +39,7 @@ import com.base.scanqrclear.utils.BarUtils
...
@@ -39,7 +39,7 @@ import com.base.scanqrclear.utils.BarUtils
import
com.base.scanqrclear.utils.BitmapUtils.saveBitmapToFile
import
com.base.scanqrclear.utils.BitmapUtils.saveBitmapToFile
import
com.base.scanqrclear.utils.KotlinExt.toFormatTime6
import
com.base.scanqrclear.utils.KotlinExt.toFormatTime6
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.u
tils
.OpenFoodDialog.showOpenFoodDialog
import
com.base.scanqrclear.u
i.widget
.OpenFoodDialog.showOpenFoodDialog
import
com.base.scanqrclear.utils.QRCodeUtils.generateEAN13Barcode
import
com.base.scanqrclear.utils.QRCodeUtils.generateEAN13Barcode
import
com.base.scanqrclear.utils.QRCodeUtils.generateEAN8Barcode
import
com.base.scanqrclear.utils.QRCodeUtils.generateEAN8Barcode
import
com.base.scanqrclear.utils.QRCodeUtils.generateQRCode
import
com.base.scanqrclear.utils.QRCodeUtils.generateQRCode
...
...
app/src/main/java/com/base/scanqrclear/ui/main/CreateFragment.kt
View file @
ae838a24
package
com.base.scanqrclear.ui.main
package
com.base.scanqrclear.ui.main
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.content.Intent
import
android.content.Intent
import
android.view.View
import
android.view.View
import
androidx.core.content.ContextCompat
import
androidx.core.content.ContextCompat
...
@@ -9,7 +10,6 @@ import com.base.scanqrclear.R
...
@@ -9,7 +10,6 @@ import com.base.scanqrclear.R
import
com.base.scanqrclear.ads.AdsMgr
import
com.base.scanqrclear.ads.AdsMgr
import
com.base.scanqrclear.ads.AdsShowCallBack
import
com.base.scanqrclear.ads.AdsShowCallBack
import
com.base.scanqrclear.base.BaseFragment
import
com.base.scanqrclear.base.BaseFragment
import
com.base.scanqrclear.base.goToAc
import
com.base.scanqrclear.bean.FunctionUIBean
import
com.base.scanqrclear.bean.FunctionUIBean
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_CONTACT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_CONTACT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EMAIL
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EMAIL
...
@@ -61,6 +61,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -61,6 +61,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
private
var
functionRvAdapter1
:
FunctionRvAdapter
?
=
null
private
var
functionRvAdapter1
:
FunctionRvAdapter
?
=
null
private
var
functionRvAdapter2
:
FunctionRvAdapter
?
=
null
private
var
functionRvAdapter2
:
FunctionRvAdapter
?
=
null
private
var
headAdapter
:
HeadAdapter
?
=
null
private
val
functions1
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
private
val
functions1
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
listOf
(
listOf
(
...
@@ -100,6 +101,11 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -100,6 +101,11 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
binding
.
rv
.
adapter
=
concatAdapter
binding
.
rv
.
adapter
=
concatAdapter
headAdapter
=
HeadAdapter
(
this
).
apply
{
concatAdapter
.
addAdapter
(
this
)
submitList
(
listOf
(
""
))
}
functionRvAdapter1
=
FunctionRvAdapter
().
apply
{
functionRvAdapter1
=
FunctionRvAdapter
().
apply
{
itemClick
=
::
itemClick
itemClick
=
::
itemClick
concatAdapter
.
addAdapter
(
this
)
concatAdapter
.
addAdapter
(
this
)
...
@@ -281,9 +287,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -281,9 +287,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
override
fun
initListener
()
{
override
fun
initListener
()
{
super
.
initListener
()
super
.
initListener
()
binding
.
tvLogo
.
setOnClickListener
{
goToAc
(
ScanAc
::
class
.
java
)
}
binding
.
tvZodiac
.
setOnClickListener
{
binding
.
tvZodiac
.
setOnClickListener
{
// startActivity(Intent(context, WebBrowserActivity::class.java).apply {
// startActivity(Intent(context, WebBrowserActivity::class.java).apply {
// putExtra("url", "https://www.horoscope.com/us/index.aspx")
// putExtra("url", "https://www.horoscope.com/us/index.aspx")
...
@@ -315,10 +319,13 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -315,10 +319,13 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
private
fun
showGuideScan
()
{
private
fun
showGuideScan
()
{
val
isGuideScan
=
AppPreferences
.
getInstance
().
getBoolean
(
"isGuideScan"
,
false
)
val
isGuideScan
=
AppPreferences
.
getInstance
().
getBoolean
(
"isGuideScan"
,
false
)
if
(
isGuideScan
)
return
if
(
isGuideScan
)
return
val
activity
=
requireActivity
()
as
Main
Activity
?
val
activity
=
requireActivity
()
as
Activity
?
activity
?:
return
activity
?:
return
val
targetView
=
headAdapter
?.
guideIv
targetView
?:
return
val
builder
=
GuideBuilder
()
val
builder
=
GuideBuilder
()
builder
.
setTargetView
(
binding
.
ivScan
)
builder
.
setTargetView
(
targetView
)
.
setHighTargetGraphStyle
(
Component
.
CIRCLE
)
.
setHighTargetGraphStyle
(
Component
.
CIRCLE
)
.
setAlpha
(
150
)
.
setAlpha
(
150
)
.
setHighTargetCorner
(
20
)
.
setHighTargetCorner
(
20
)
...
@@ -330,7 +337,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -330,7 +337,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
}
}
override
fun
onDismiss
()
{
override
fun
onDismiss
()
{
startActivity
(
Intent
(
activity
,
ScanAc
::
class
.
java
))
activity
.
startActivity
(
Intent
(
activity
,
ScanAc
::
class
.
java
))
}
}
})
})
builder
.
addComponent
(
LottieComponent
())
builder
.
addComponent
(
LottieComponent
())
...
@@ -339,4 +346,5 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -339,4 +346,5 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
guide
.
show
(
activity
)
guide
.
show
(
activity
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/main/HeadAdapter.kt
0 → 100644
View file @
ae838a24
package
com.base.scanqrclear.ui.main
import
android.content.Context
import
android.view.ViewGroup
import
android.widget.ImageView
import
androidx.fragment.app.Fragment
import
com.base.scanqrclear.R
import
com.base.scanqrclear.base.goToAc
import
com.base.scanqrclear.databinding.ItemHeadCreateBinding
import
com.base.scanqrclear.ui.adapter.CommonViewHolder
import
com.base.scanqrclear.utils.XmlEx.inflate
import
com.chad.library.adapter4.BaseQuickAdapter
class
HeadAdapter
(
val
fragment
:
Fragment
)
:
BaseQuickAdapter
<
Any
,
CommonViewHolder
>()
{
var
guideIv
:
ImageView
?
=
null
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
Any
?)
{
item
?:
return
val
binding
=
ItemHeadCreateBinding
.
bind
(
holder
.
itemView
)
guideIv
=
binding
.
ivScan
binding
.
tvLogo
.
setOnClickListener
{
fragment
.
goToAc
(
ScanAc
::
class
.
java
)
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_head_create
.
inflate
(
parent
))
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/u
tils
/OpenFoodDialog.kt
→
app/src/main/java/com/base/scanqrclear/u
i/widget
/OpenFoodDialog.kt
View file @
ae838a24
package
com.base.scanqrclear.u
tils
package
com.base.scanqrclear.u
i.widget
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Activity
import
android.app.Activity
...
@@ -37,13 +37,14 @@ object OpenFoodDialog {
...
@@ -37,13 +37,14 @@ object OpenFoodDialog {
binding
.
tvName
.
text
=
openFoodBean
.
product_name
binding
.
tvName
.
text
=
openFoodBean
.
product_name
var
grade
=
"NA"
var
grade
=
"NA"
var
gradeDesc
=
"NA"
var
gradeDesc
=
"NA"
var
gradeImage
=
R
.
mipmap
.
grade_a
if
(
if
(
openFoodBean
.
nutriscore_grade
?.
contains
(
"A"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"A"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"a"
)
==
true
openFoodBean
.
nutriscore_grade
?.
contains
(
"a"
)
==
true
)
{
)
{
grade
=
"A"
grade
=
"A"
gradeDesc
=
"Very good nutritional quality"
gradeDesc
=
"Very good nutritional quality"
gradeImage
=
R
.
mipmap
.
grade_a
}
}
if
(
if
(
openFoodBean
.
nutriscore_grade
?.
contains
(
"B"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"B"
)
==
true
||
...
@@ -51,6 +52,7 @@ object OpenFoodDialog {
...
@@ -51,6 +52,7 @@ object OpenFoodDialog {
)
{
)
{
grade
=
"B"
grade
=
"B"
gradeDesc
=
"Good nutritional quality"
gradeDesc
=
"Good nutritional quality"
gradeImage
=
R
.
mipmap
.
grade_b
}
}
if
(
if
(
openFoodBean
.
nutriscore_grade
?.
contains
(
"C"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"C"
)
==
true
||
...
@@ -58,6 +60,7 @@ object OpenFoodDialog {
...
@@ -58,6 +60,7 @@ object OpenFoodDialog {
)
{
)
{
grade
=
"C"
grade
=
"C"
gradeDesc
=
"Average nutritional quality"
gradeDesc
=
"Average nutritional quality"
gradeImage
=
R
.
mipmap
.
grade_c
}
}
if
(
if
(
openFoodBean
.
nutriscore_grade
?.
contains
(
"D"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"D"
)
==
true
||
...
@@ -65,6 +68,7 @@ object OpenFoodDialog {
...
@@ -65,6 +68,7 @@ object OpenFoodDialog {
)
{
)
{
grade
=
"D"
grade
=
"D"
gradeDesc
=
"Poor nutritional quality"
gradeDesc
=
"Poor nutritional quality"
gradeImage
=
R
.
mipmap
.
grade_d
}
}
if
(
if
(
openFoodBean
.
nutriscore_grade
?.
contains
(
"E"
)
==
true
||
openFoodBean
.
nutriscore_grade
?.
contains
(
"E"
)
==
true
||
...
@@ -72,13 +76,15 @@ object OpenFoodDialog {
...
@@ -72,13 +76,15 @@ object OpenFoodDialog {
)
{
)
{
grade
=
"E"
grade
=
"E"
gradeDesc
=
"Bad nutritional quality"
gradeDesc
=
"Bad nutritional quality"
gradeImage
=
R
.
mipmap
.
grade_e
}
}
binding
.
tvGrade
.
text
=
"Nutr.comp:$grade"
binding
.
tvGrade
.
text
=
"Nutr.comp:$grade"
binding
.
tvGradeDesc
.
text
=
gradeDesc
binding
.
tvGradeDesc
.
text
=
gradeDesc
binding
.
ivGrade
.
setImageResource
(
gradeImage
)
var
novaImage
=
R
.
drawable
.
nova_group_1
var
novaImage
=
R
.
mipmap
.
nova_na
if
(
openFoodBean
.
nova_groups
==
"1"
)
{
if
(
openFoodBean
.
nova_groups
==
"1"
)
{
novaImage
=
R
.
drawable
.
nova_group_1
novaImage
=
R
.
drawable
.
nova_group_1
}
}
...
...
app/src/main/res/layout/dialog_open_food.xml
View file @
ae838a24
...
@@ -61,28 +61,31 @@
...
@@ -61,28 +61,31 @@
<TextView
<TextView
android:id=
"@+id/tvGradeDesc"
android:id=
"@+id/tvGradeDesc"
android:layout_width=
"
wrap_content
"
android:layout_width=
"
0dp
"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"8dp"
android:layout_marginTop=
"8dp"
android:layout_marginEnd=
"8dp"
android:layout_marginBottom=
"13dp"
android:layout_marginBottom=
"13dp"
android:textColor=
"@color/black"
android:textColor=
"@color/black"
android:textSize=
"15sp"
android:textSize=
"15sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/ivGrade"
app:layout_constraintStart_toStartOf=
"@id/tvGrade"
app:layout_constraintStart_toStartOf=
"@id/tvGrade"
app:layout_constraintTop_toBottomOf=
"@id/tvGrade"
app:layout_constraintTop_toBottomOf=
"@id/tvGrade"
tools:ignore=
"HardcodedText"
tools:ignore=
"HardcodedText"
tools:text=
"Very good nutritional quality"
/>
tools:text=
"Very good nutritional quality"
/>
<ImageView
<ImageView
android:id=
"@+id/ivGrade"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"8dp"
android:layout_marginEnd=
"8dp"
android:importantForAccessibility=
"no"
android:src=
"@mipmap/grade_a"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
...
...
app/src/main/res/layout/fragment_create.xml
View file @
ae838a24
...
@@ -28,7 +28,8 @@
...
@@ -28,7 +28,8 @@
android:textSize=
"15sp"
android:textSize=
"15sp"
app:drawableStartCompat=
"@mipmap/x_qing"
app:drawableStartCompat=
"@mipmap/x_qing"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/space"
/>
app:layout_constraintTop_toBottomOf=
"@id/space"
tools:ignore=
"HardcodedText"
/>
<TextView
<TextView
android:id=
"@+id/tv_zodiac"
android:id=
"@+id/tv_zodiac"
...
@@ -47,32 +48,7 @@
...
@@ -47,32 +48,7 @@
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_weather"
/>
app:layout_constraintTop_toTopOf=
"@id/tv_weather"
/>
<LinearLayout
android:id=
"@+id/tv_logo"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_zodiac"
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
android:id=
"@+id/ivScan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/codescan"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"13dp"
android:text=
"@string/app_name"
android:textColor=
"@color/black"
android:textSize=
"19sp"
/>
</LinearLayout>
<!-- <ImageView-->
<!-- <ImageView-->
<!-- android:id="@+id/ivVip"-->
<!-- android:id="@+id/ivVip"-->
...
@@ -96,7 +72,7 @@
...
@@ -96,7 +72,7 @@
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
app:layout_constraintBottom_toTopOf=
"@id/fl_ad"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_
logo
"
/>
app:layout_constraintTop_toBottomOf=
"@id/tv_
zodiac
"
/>
<com.base.scanqrclear.ads.NativeParentView
<com.base.scanqrclear.ads.NativeParentView
android:id=
"@+id/fl_ad"
android:id=
"@+id/fl_ad"
...
...
app/src/main/res/layout/item_head_create.xml
0 → 100644
View file @
ae838a24
<?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"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<LinearLayout
android:id=
"@+id/tv_logo"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
android:id=
"@+id/ivScan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/codescan"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"13dp"
android:text=
"@string/app_name"
android:textColor=
"@color/black"
android:textSize=
"19sp"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/grade_a.png
0 → 100644
View file @
ae838a24
8.65 KB
app/src/main/res/mipmap-xxhdpi/grade_b.png
0 → 100644
View file @
ae838a24
9.03 KB
app/src/main/res/mipmap-xxhdpi/grade_c.png
0 → 100644
View file @
ae838a24
8.99 KB
app/src/main/res/mipmap-xxhdpi/grade_d.png
0 → 100644
View file @
ae838a24
9 KB
app/src/main/res/mipmap-xxhdpi/grade_e.png
0 → 100644
View file @
ae838a24
8.36 KB
app/src/main/res/mipmap-xxhdpi/nova_na.png
0 → 100644
View file @
ae838a24
12.3 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment