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
8a60c675
Commit
8a60c675
authored
Feb 13, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...地震
parent
35de8dba
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
175 additions
and
48 deletions
+175
-48
NotificationSendBean.kt
...in/java/com/base/scanqrclear/bean/NotificationSendBean.kt
+1
-0
MyNotificationManager.kt
...ase/scanqrclear/fcm/notification/MyNotificationManager.kt
+18
-8
NotificationUiUtil.kt
...m/base/scanqrclear/fcm/notification/NotificationUiUtil.kt
+29
-0
EarthquakeActivity.kt
.../com/base/scanqrclear/ui/earthquake/EarthquakeActivity.kt
+28
-24
StartActivity.kt
.../main/java/com/base/scanqrclear/ui/start/StartActivity.kt
+6
-0
notification_style_new.xml
app/src/main/res/layout/notification_style_new.xml
+58
-0
stay_notification_small_scan.xml
app/src/main/res/layout/stay_notification_small_scan.xml
+35
-16
h_earthquake.png
app/src/main/res/mipmap-xxhdpi/h_earthquake.png
+0
-0
h_weather.png
app/src/main/res/mipmap-xxhdpi/h_weather.png
+0
-0
qr.png
app/src/main/res/mipmap-xxhdpi/qr.png
+0
-0
qr.webp
app/src/main/res/mipmap-xxhdpi/qr.webp
+0
-0
search.png
app/src/main/res/mipmap-xxhdpi/search.png
+0
-0
search.webp
app/src/main/res/mipmap-xxhdpi/search.webp
+0
-0
time.png
app/src/main/res/mipmap-xxhdpi/time.png
+0
-0
time.webp
app/src/main/res/mipmap-xxhdpi/time.webp
+0
-0
No files found.
app/src/main/java/com/base/scanqrclear/bean/NotificationSendBean.kt
View file @
8a60c675
...
@@ -43,5 +43,6 @@ class NotificationSendBean(
...
@@ -43,5 +43,6 @@ class NotificationSendBean(
const
val
ACTION_ID_SCREEN_SHORT
=
"action_id_screen_short"
const
val
ACTION_ID_SCREEN_SHORT
=
"action_id_screen_short"
const
val
ACTION_ID_SIMILAR
=
"action_id_similar"
const
val
ACTION_ID_SIMILAR
=
"action_id_similar"
const
val
ACTION_ID_CONSTELLATION
=
"action_id_constellation"
const
val
ACTION_ID_CONSTELLATION
=
"action_id_constellation"
const
val
ACTION_ID_EARTHQUAKE
=
"action_id_earthquake"
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/fcm/notification/MyNotificationManager.kt
View file @
8a60c675
...
@@ -3,10 +3,12 @@ package com.base.scanqrclear.fcm.notification
...
@@ -3,10 +3,12 @@ package com.base.scanqrclear.fcm.notification
import
android.content.Context
import
android.content.Context
import
com.base.scanqrclear.BuildConfig
import
com.base.scanqrclear.BuildConfig
import
com.base.scanqrclear.MyApplication
import
com.base.scanqrclear.MyApplication
import
com.base.scanqrclear.bean.EarthquakeData
import
com.base.scanqrclear.bean.NotificationSendBean
import
com.base.scanqrclear.bean.NotificationSendBean
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EARTHQUAKE
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
...
@@ -26,6 +28,7 @@ import com.base.scanqrclear.bean.NotificationSendBean.Companion.POPUP_WHERE_TIME
...
@@ -26,6 +28,7 @@ import com.base.scanqrclear.bean.NotificationSendBean.Companion.POPUP_WHERE_TIME
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.POPUP_WHERE_WORK_MANAGER
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.POPUP_WHERE_WORK_MANAGER
import
com.base.scanqrclear.bean.config.PopupConfigBean.Companion.popupConfigBean
import
com.base.scanqrclear.bean.config.PopupConfigBean.Companion.popupConfigBean
import
com.base.scanqrclear.helper.EventUtils
import
com.base.scanqrclear.helper.EventUtils
import
com.base.scanqrclear.ui.earthquake.EarthquakeActivity.Companion.fetchEarthquakeData
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.KotlinExt.currentDate
import
com.base.scanqrclear.utils.KotlinExt.currentDate
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
...
@@ -61,6 +64,7 @@ object MyNotificationManager {
...
@@ -61,6 +64,7 @@ object MyNotificationManager {
ACTION_ID_SCREEN_SHORT
,
ACTION_ID_SCREEN_SHORT
,
ACTION_ID_SIMILAR
,
ACTION_ID_SIMILAR
,
ACTION_ID_CONSTELLATION
,
ACTION_ID_CONSTELLATION
,
ACTION_ID_EARTHQUAKE
,
)
)
private
var
actionIdList
=
arrayListOf
<
String
>()
private
var
actionIdList
=
arrayListOf
<
String
>()
...
@@ -71,7 +75,7 @@ object MyNotificationManager {
...
@@ -71,7 +75,7 @@ object MyNotificationManager {
val
next
=
actionIdList
[
0
]
val
next
=
actionIdList
[
0
]
actionIdList
.
removeAt
(
0
)
actionIdList
.
removeAt
(
0
)
if
(
BuildConfig
.
DEBUG
)
{
if
(
BuildConfig
.
DEBUG
)
{
return
ACTION_ID_
SIMILAR
return
ACTION_ID_
EARTHQUAKE
}
}
return
next
return
next
}
}
...
@@ -124,6 +128,12 @@ object MyNotificationManager {
...
@@ -124,6 +128,12 @@ object MyNotificationManager {
if
(!
bean
.
canSend
.
invoke
())
continue
if
(!
bean
.
canSend
.
invoke
())
continue
}
}
//提前获取数据
if
(
bean
.
actionId
==
ACTION_ID_EARTHQUAKE
)
{
val
data
=
fetchEarthquakeData
()
?.
features
?.
maxBy
{
it
.
properties
.
sig
}
bean
.
valueMap
[
"data"
]
=
data
as
Any
}
async
(
Dispatchers
.
Main
)
{
async
(
Dispatchers
.
Main
)
{
if
(
BuildConfig
.
DEBUG
)
{
if
(
BuildConfig
.
DEBUG
)
{
MyApplication
.
appContext
.
toast
(
bean
.
where
)
MyApplication
.
appContext
.
toast
(
bean
.
where
)
...
@@ -222,12 +232,12 @@ object MyNotificationManager {
...
@@ -222,12 +232,12 @@ object MyNotificationManager {
*/
*/
private
var
testWhere
=
listOf
(
private
var
testWhere
=
listOf
(
POPUP_WHERE_LOCK
,
POPUP_WHERE_LOCK
,
POPUP_WHERE_BATTERY
,
//
POPUP_WHERE_BATTERY,
POPUP_WHERE_PACKAGE
,
//
POPUP_WHERE_PACKAGE,
POPUP_WHERE_WORK_MANAGER
,
//
POPUP_WHERE_WORK_MANAGER,
POPUP_WHERE_ALARM
,
//
POPUP_WHERE_ALARM,
POPUP_WHERE_TIMER
,
//
POPUP_WHERE_TIMER,
POPUP_WHERE_FILE_JOB
,
//
POPUP_WHERE_FILE_JOB,
POPUP_WHERE_FCM
//
POPUP_WHERE_FCM
)
)
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/fcm/notification/NotificationUiUtil.kt
View file @
8a60c675
...
@@ -12,10 +12,14 @@ import androidx.core.app.NotificationCompat
...
@@ -12,10 +12,14 @@ import androidx.core.app.NotificationCompat
import
androidx.core.graphics.drawable.IconCompat
import
androidx.core.graphics.drawable.IconCompat
import
com.base.scanqrclear.MyApplication
import
com.base.scanqrclear.MyApplication
import
com.base.scanqrclear.R
import
com.base.scanqrclear.R
import
com.base.scanqrclear.bean.EarthquakeBean
import
com.base.scanqrclear.bean.EarthquakeData
import
com.base.scanqrclear.bean.EarthquakeProperties
import
com.base.scanqrclear.bean.NotificationSendBean
import
com.base.scanqrclear.bean.NotificationSendBean
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EARTHQUAKE
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
...
@@ -235,6 +239,31 @@ object NotificationUiUtil {
...
@@ -235,6 +239,31 @@ object NotificationUiUtil {
sendBean
.
smallRemoteViews
=
smallRemoteViews
sendBean
.
smallRemoteViews
=
smallRemoteViews
}
}
ACTION_ID_EARTHQUAKE
->
{
val
data
=
sendBean
.
valueMap
[
"data"
]
as
EarthquakeBean
?
data
?:
return
val
smallRemoteViews
=
RemoteViews
(
MyApplication
.
appContext
.
packageName
,
R
.
layout
.
stay_notification_small_function
)
val
bigRemoteViews
=
RemoteViews
(
MyApplication
.
appContext
.
packageName
,
R
.
layout
.
notification_style_new
)
smallRemoteViews
.
setImageViewResource
(
R
.
id
.
ivIcon
,
R
.
mipmap
.
h_earthquake
)
smallRemoteViews
.
setTextViewText
(
R
.
id
.
tvTitle
,
"Earthquake"
)
smallRemoteViews
.
setTextViewText
(
R
.
id
.
tvDesc
,
" A tremor has been detected in ${data.properties.place}. Please stay safe and click here for more details."
)
bigRemoteViews
.
setImageViewResource
(
R
.
id
.
iv
,
R
.
mipmap
.
h_earthquake
)
bigRemoteViews
.
setTextViewText
(
R
.
id
.
tvTitle
,
"Earthquake"
)
bigRemoteViews
.
setTextViewText
(
R
.
id
.
tvDesc
,
"A tremor has been detected in ${data.properties.place}. Please stay safe and click here for more details."
)
sendBean
.
smallRemoteViews
=
smallRemoteViews
sendBean
.
bigRemoteViews
=
bigRemoteViews
}
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/earthquake/EarthquakeActivity.kt
View file @
8a60c675
...
@@ -102,7 +102,21 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
...
@@ -102,7 +102,21 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
}
}
}
}
private
fun
fetchEarthquakeData
():
EarthquakeData
?
{
private
fun
haversineDistance
(
lat1
:
Double
,
lon1
:
Double
,
lat2
:
Double
,
lon2
:
Double
):
Double
{
val
R
=
6371
// 地球半径,单位:千米
val
latDistance
=
Math
.
toRadians
(
lat2
-
lat1
)
val
lonDistance
=
Math
.
toRadians
(
lon2
-
lon1
)
val
a
=
Math
.
sin
(
latDistance
/
2
)
*
Math
.
sin
(
latDistance
/
2
)
+
Math
.
cos
(
Math
.
toRadians
(
lat1
))
*
Math
.
cos
(
Math
.
toRadians
(
lat2
))
*
Math
.
sin
(
lonDistance
/
2
)
*
Math
.
sin
(
lonDistance
/
2
)
val
c
=
2
*
Math
.
atan2
(
Math
.
sqrt
(
a
),
Math
.
sqrt
(
1
-
a
))
return
R
*
c
// 返回距离,单位:千米
}
companion
object
{
fun
fetchEarthquakeData
():
EarthquakeData
?
{
try
{
try
{
val
client
=
OkHttpClient
()
val
client
=
OkHttpClient
()
val
request
=
Request
.
Builder
()
val
request
=
Request
.
Builder
()
...
@@ -114,7 +128,7 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
...
@@ -114,7 +128,7 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
val
responseBody
=
response
.
body
?.
string
()
val
responseBody
=
response
.
body
?.
string
()
if
(
responseBody
==
null
)
{
if
(
responseBody
==
null
)
{
LogEx
.
logDebug
(
TAG
,
"responseBody=null"
)
//
LogEx.logDebug(TAG, "responseBody=null")
return
null
return
null
}
else
{
}
else
{
val
gson
=
Gson
()
val
gson
=
Gson
()
...
@@ -126,15 +140,5 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
...
@@ -126,15 +140,5 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
}
}
return
null
return
null
}
}
private
fun
haversineDistance
(
lat1
:
Double
,
lon1
:
Double
,
lat2
:
Double
,
lon2
:
Double
):
Double
{
val
R
=
6371
// 地球半径,单位:千米
val
latDistance
=
Math
.
toRadians
(
lat2
-
lat1
)
val
lonDistance
=
Math
.
toRadians
(
lon2
-
lon1
)
val
a
=
Math
.
sin
(
latDistance
/
2
)
*
Math
.
sin
(
latDistance
/
2
)
+
Math
.
cos
(
Math
.
toRadians
(
lat1
))
*
Math
.
cos
(
Math
.
toRadians
(
lat2
))
*
Math
.
sin
(
lonDistance
/
2
)
*
Math
.
sin
(
lonDistance
/
2
)
val
c
=
2
*
Math
.
atan2
(
Math
.
sqrt
(
a
),
Math
.
sqrt
(
1
-
a
))
return
R
*
c
// 返回距离,单位:千米
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/start/StartActivity.kt
View file @
8a60c675
...
@@ -13,6 +13,7 @@ import com.base.scanqrclear.bean.ConstObject.isFirstLauncher
...
@@ -13,6 +13,7 @@ import com.base.scanqrclear.bean.ConstObject.isFirstLauncher
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_APP_PROCESS
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CLEAN_JUNK
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_CONSTELLATION
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EARTHQUAKE
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
import
com.base.scanqrclear.bean.NotificationSendBean.Companion.ACTION_ID_SCREEN_SHORT
...
@@ -32,6 +33,7 @@ import com.base.scanqrclear.luma.SimilarPhotosActivity
...
@@ -32,6 +33,7 @@ import com.base.scanqrclear.luma.SimilarPhotosActivity
import
com.base.scanqrclear.luma.WeatherInterface
import
com.base.scanqrclear.luma.WeatherInterface
import
com.base.scanqrclear.luma.WhatsappCleanActivity
import
com.base.scanqrclear.luma.WhatsappCleanActivity
import
com.base.scanqrclear.service.StayJobService.Companion.startJob
import
com.base.scanqrclear.service.StayJobService.Companion.startJob
import
com.base.scanqrclear.ui.earthquake.EarthquakeActivity
import
com.base.scanqrclear.ui.email.EmailActivity
import
com.base.scanqrclear.ui.email.EmailActivity
import
com.base.scanqrclear.ui.language.LanguageActivity
import
com.base.scanqrclear.ui.language.LanguageActivity
import
com.base.scanqrclear.ui.main.MainActivity
import
com.base.scanqrclear.ui.main.MainActivity
...
@@ -259,6 +261,10 @@ class StartActivity : BaseActivity<ActivityStartBinding>(ActivityStartBinding::i
...
@@ -259,6 +261,10 @@ class StartActivity : BaseActivity<ActivityStartBinding>(ActivityStartBinding::i
})
})
}
}
ACTION_ID_EARTHQUAKE
->
{
startActivity
(
Intent
(
this
,
EarthquakeActivity
::
class
.
java
))
}
else
->
{
else
->
{
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
putExtra
(
"actionId"
,
actionId
)
putExtra
(
"actionId"
,
actionId
)
...
...
app/src/main/res/layout/notification_style_new.xml
0 → 100644
View file @
8a60c675
<?xml version="1.0" encoding="utf-8"?>
<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:padding=
"12dp"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentStart=
"true"
android:layout_marginTop=
"8dp"
android:src=
"@mipmap/h_weather"
tools:ignore=
"ContentDescription"
/>
<LinearLayout
android:id=
"@+id/ll"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignTop=
"@id/iv"
android:layout_alignParentEnd=
"true"
android:layout_marginHorizontal=
"10dp"
android:layout_toEndOf=
"@id/iv"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tvTitle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"#000000"
android:textSize=
"15sp"
tools:text=
"Rain or snow forecast fore some"
/>
<TextView
android:id=
"@+id/tvDesc"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:textColor=
"#666666"
android:textSize=
"13sp"
tools:text=
"but sunshine for many. What’s [City Name] like? Tap to find out!"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tvBtn"
android:layout_width=
"match_parent"
android:layout_height=
"45dp"
android:layout_below=
"@id/ll"
android:layout_marginTop=
"24dp"
android:background=
"@drawable/bg_8559ea_6672f7"
android:gravity=
"center"
android:text=
"Check"
android:textColor=
"#ffffff"
android:textSize=
"18sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
</RelativeLayout>
\ No newline at end of file
app/src/main/res/layout/stay_notification_small_scan.xml
View file @
8a60c675
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Relative
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:gravity=
"center"
android:
orientation=
"vertical
"
android:
padding=
"10dp
"
tools:ignore=
"DisableBaselineAlignment"
>
tools:ignore=
"DisableBaselineAlignment"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
android:layout_alignParentStart=
"true"
android:layout_centerVertical=
"true"
android:src=
"@mipmap/logo"
tools:ignore=
"ContentDescription"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignTop=
"@+id/iv"
android:layout_alignBottom=
"@id/iv"
android:layout_marginStart=
"8dp"
android:layout_toEndOf=
"@id/iv"
android:orientation=
"vertical"
>
<TextView
<TextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
@@ -25,4 +42,6 @@
...
@@ -25,4 +42,6 @@
android:textColor=
"#666666"
android:textColor=
"#666666"
android:textSize=
"12sp"
/>
android:textSize=
"12sp"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
</RelativeLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/h_earthquake.png
0 → 100644
View file @
8a60c675
3.96 KB
app/src/main/res/mipmap-xxhdpi/h_weather.png
0 → 100644
View file @
8a60c675
3.69 KB
app/src/main/res/mipmap-xxhdpi/qr.png
0 → 100644
View file @
8a60c675
12.6 KB
app/src/main/res/mipmap-xxhdpi/qr.webp
deleted
100644 → 0
View file @
35de8dba
File deleted
app/src/main/res/mipmap-xxhdpi/search.png
0 → 100644
View file @
8a60c675
4.64 KB
app/src/main/res/mipmap-xxhdpi/search.webp
deleted
100644 → 0
View file @
35de8dba
File deleted
app/src/main/res/mipmap-xxhdpi/time.png
0 → 100644
View file @
8a60c675
11.1 KB
app/src/main/res/mipmap-xxhdpi/time.webp
deleted
100644 → 0
View file @
35de8dba
File deleted
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