Commit cf46200a authored by wanglei's avatar wanglei

...

parent b3b3f240
...@@ -14,6 +14,8 @@ data class EarthquakeProperties( ...@@ -14,6 +14,8 @@ data class EarthquakeProperties(
val place: String,//地点 val place: String,//地点
val time: Long,//发生时间 val time: Long,//发生时间
val mmi: Any?,//烈度(Intensity)通常用Modified Mercalli Intensity (MMI) val mmi: Any?,//烈度(Intensity)通常用Modified Mercalli Intensity (MMI)
val sig: Int,//地震的显著性(Significance)
val types: String,//nearby-cities, origin, phase-data
) )
data class EarthquakeGeometry( data class EarthquakeGeometry(
......
package com.base.scanqrclear.ui.earthquake package com.base.scanqrclear.ui.earthquake
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.location.LocationManager
import android.view.View
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.scanqrclear.R 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.base.BaseActivity import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.EarthquakeData import com.base.scanqrclear.bean.EarthquakeData
import com.base.scanqrclear.databinding.ActivityEarthquakeBinding import com.base.scanqrclear.databinding.ActivityEarthquakeBinding
...@@ -17,6 +16,7 @@ import com.google.gson.Gson ...@@ -17,6 +16,7 @@ import com.google.gson.Gson
import com.gyf.immersionbar.ktx.immersionBar import com.gyf.immersionbar.ktx.immersionBar
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import java.text.DecimalFormat
class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarthquakeBinding::inflate) { class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarthquakeBinding::inflate) {
...@@ -26,47 +26,63 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth ...@@ -26,47 +26,63 @@ class EarthquakeActivity : BaseActivity<ActivityEarthquakeBinding>(ActivityEarth
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight()) binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_item) AdsMgr.showNative(binding.flAd, R.layout.layout_admob_item)
AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) {
}
override fun failed(where: Int) {
}
override fun googleFailed(where: Int) {
}
})
Thread { Thread {
val data = fetchEarthquakeData() val data = fetchEarthquakeData()
val oneData = data?.features?.maxBy { it.properties.mag } val oneData = data?.features?.maxBy { it.properties.sig }
oneData?.let { oneData?.let {
runOnUiThread { runOnUiThread {
kotlin.runCatching { kotlin.runCatching {
binding.tvWhere.text = it.properties.place binding.tvWhere.text = it.properties.place
binding.tvTime.text = it.properties.time.toFormatTime3() binding.tvTime.text = it.properties.time.toFormatTime3()
binding.tvLevel.text = "Level " + "${it.properties.mag}" binding.tvLevel.text = "Level " + "${it.properties.mag}"
binding.tvDepth.text = it.geometry.coordinates[2].toInt().toString() + " Kilometers"
if (it.properties.mmi != null) { val ss = it.geometry.coordinates[2]
binding.tvIntensityTitle.visibility = View.VISIBLE LogEx.logDebug(TAG, "ss=$ss")
binding.tvIntensity.visibility = View.VISIBLE if (ss < 0.01f) {
binding.tvDepth.text = "0.1 Kilometers"
binding.tvIntensity.text = it.properties.mmi.toString() } else {
val df = DecimalFormat("#.00")
val depth = df.format(ss)
binding.tvDepth.text = "$depth Kilometers"
} }
// binding.tvWarningTime.text = "" + " S" binding.tvLongitudeLatitude.text =
"[ ${it.geometry.coordinates[0]},${it.geometry.coordinates[1]} ]"
binding.tvSignificance.text = it.properties.sig.toString()
binding.tvTypes.text = it.properties.types.removePrefix(",").removeSuffix(",")
} }
} }
} }
}.start() }.start()
launcher.launch( // launcher.launch(
arrayOf( // arrayOf(
android.Manifest.permission.ACCESS_COARSE_LOCATION, // android.Manifest.permission.ACCESS_COARSE_LOCATION,
android.Manifest.permission.LOCATION_HARDWARE, // android.Manifest.permission.LOCATION_HARDWARE,
) // )
) { // ) {
val locationManager = getSystemService(LOCATION_SERVICE) as LocationManager // val locationManager = getSystemService(LOCATION_SERVICE) as LocationManager
//
locationManager.requestLocationUpdates( // locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, // LocationManager.NETWORK_PROVIDER,
0L, // 0L,
0f // 0f
) { location -> // ) { location ->
LogEx.logDebug(TAG, "${location.altitude} ${location.longitude}") // LogEx.logDebug(TAG, "${location.altitude} ${location.longitude}")
} // }
} // }
} }
override fun initListener() { override fun initListener() {
......
...@@ -151,7 +151,6 @@ ...@@ -151,7 +151,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="6dp" android:layout_marginVertical="6dp"
android:visibility="gone"
app:cardBackgroundColor="@color/white" app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp" app:cardCornerRadius="10dp"
app:cardElevation="2dp"> app:cardElevation="2dp">
...@@ -163,41 +162,38 @@ ...@@ -163,41 +162,38 @@
android:paddingVertical="13dp"> android:paddingVertical="13dp">
<TextView <TextView
android:id="@+id/tvIntensityTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:text="Estimated Intensity" android:text="Latitude and Longitude"
android:textColor="#999999" android:textColor="#999999"
android:textSize="15sp" android:textSize="15sp" />
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tvIntensity" android:id="@+id/tvLongitudeLatitude"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:textSize="15sp" android:textSize="15sp"
android:visibility="gone" tools:text="[ -120.568168640137, 36.009334564209 ]" />
tools:text="3 Degrees (strong vibration sensation)" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:text="Warning time" android:text="Significance"
android:textColor="#999999" android:textColor="#999999"
android:textSize="15sp" /> android:textSize="15sp" />
<TextView <TextView
android:id="@+id/tvWarningTime" android:id="@+id/tvSignificance"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:textSize="15sp" android:textSize="15sp"
tools:text="61 S" /> tools:text="6" />
<TextView <TextView
...@@ -205,17 +201,17 @@ ...@@ -205,17 +201,17 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:text="Distance from the epicenter to you" android:text="Types"
android:textColor="#999999" android:textColor="#999999"
android:textSize="15sp" /> android:textSize="15sp" />
<TextView <TextView
android:id="@+id/tvDistance" android:id="@+id/tvTypes"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="13dp" android:layout_marginHorizontal="13dp"
android:textSize="15sp" android:textSize="15sp"
tools:text="260 Kilometers" /> tools:text="nearby-cities, origin, phase-data" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment