[6.4.0][启自驾指引] 添加下载状态ui
This commit is contained in:
@@ -4,8 +4,10 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.LinearLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO
|
||||
@@ -15,10 +17,13 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.scope
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.*
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
|
||||
class StatusBarView @JvmOverloads constructor(
|
||||
@@ -57,6 +62,28 @@ class StatusBarView @JvmOverloads constructor(
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||
updateStatusBarLeftView(true, FUNC_MODE_DEMO, DemoModeView(this.context))
|
||||
updateStatusBarLeftView(true, FUNC_MODE_RAIN, RainModeView(this.context))
|
||||
CallerDevaToolsManager.registerRouteDownloadListener(TAG) { state ->
|
||||
routeDownloadStatusRoot?.visibility = View.VISIBLE
|
||||
when(state) {
|
||||
1 -> {
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_start)
|
||||
routeDownloadFailMark?.visibility = View.GONE
|
||||
}
|
||||
2 -> {
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_success)
|
||||
routeDownloadFailMark?.visibility = View.GONE
|
||||
scope.launch {
|
||||
delay(3000)
|
||||
routeDownloadStatusRoot?.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
3 -> {
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_failed)
|
||||
routeDownloadFailMark?.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +152,7 @@ class StatusBarView @JvmOverloads constructor(
|
||||
CallerHmiViewControlListenerManager.removeListener(TAG)
|
||||
CallerSkinModeListenerManager.removeListener(TAG)
|
||||
CallerDevaToolsManager.hideStatusBar()
|
||||
CallerDevaToolsManager.unRegisterRouteDownloadListener(TAG)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#FF5A35" android:endColor="#FF0000"/>
|
||||
<corners
|
||||
android:radius="@dimen/dp_10"/>
|
||||
</shape>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
|
||||
<item android:width="@dimen/dp_70" android:height="@dimen/dp_10">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#40000000" />
|
||||
<corners
|
||||
android:radius="@dimen/dp_10"/>
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item android:width="@dimen/dp_47" android:height="@dimen/dp_10">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#35B8FF" android:endColor="#0081FF"/>
|
||||
<corners
|
||||
android:radius="@dimen/dp_10"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#31C2DA" android:endColor="#17CAB5"/>
|
||||
<corners
|
||||
android:radius="@dimen/dp_10"/>
|
||||
</shape>
|
||||
@@ -56,6 +56,37 @@
|
||||
android:textColor="@color/background_debug"
|
||||
android:textSize="@dimen/dp_20" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/routeDownloadStatusRoot"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
tools:background="#2F4266">
|
||||
<View
|
||||
android:id="@+id/routeDownloadStatus"
|
||||
android:layout_width="@dimen/dp_70"
|
||||
android:layout_height="@dimen/dp_10"
|
||||
android:layout_gravity="center_vertical"
|
||||
tools:visibility="visible"
|
||||
tools:background="@drawable/bg_autopilot_route_download_failed"/>
|
||||
<TextView
|
||||
android:id="@+id/routeDownloadFailMark"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:text="!"
|
||||
android:textStyle="bold"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:textSize="@dimen/dp_28"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<Space
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
|
||||
Reference in New Issue
Block a user