Compare commits

...

3 Commits

Author SHA1 Message Date
Raymond Yang
20016faf84 將時針、分針也改用bitmap旋轉方式繪製 2023-05-22 12:23:21 +08:00
Raymond Yang
37b0526e36 加入螢幕開啟/關閉偵測 2023-05-08 10:53:20 +08:00
Raymond Yang
a720eb9ae8 更新AGP 2023-05-08 10:53:01 +08:00
12 changed files with 192 additions and 98 deletions

View File

@ -5,6 +5,7 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application <application
android:name=".MyApplication" android:name=".MyApplication"

View File

@ -2,9 +2,13 @@ package com.ray650128.iosclockwidget
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.* import android.app.*
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter
import android.os.Build import android.os.Build
import android.os.IBinder import android.os.IBinder
import android.util.Log
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat
import com.ray650128.iosclockwidget.receiver.IOSClockWidget import com.ray650128.iosclockwidget.receiver.IOSClockWidget
@ -16,15 +20,41 @@ class ClockUpdateService : Service() {
private val timerThread = Thread { private val timerThread = Thread {
while (true) { while (true) {
if (!isServiceRunning) break if (!isServiceRunning) break
if (isScreenOn) {
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
val second = calendar[Calendar.SECOND] val second = calendar[Calendar.SECOND]
val minute = calendar[Calendar.MINUTE]
val hour = calendar[Calendar.HOUR]
val millisecond = calendar[Calendar.MILLISECOND] val millisecond = calendar[Calendar.MILLISECOND]
// 計算時、分、秒的旋轉角度 // 計算時、分、秒的旋轉角度
secondAngle = ((second + (millisecond / 1000f)) * 360f / 60f)//(second * 360f / 60f) secondAngle = ((second + (millisecond / 1000f)) * 360f / 60f)//(second * 360f / 60f)
minuteAngle = ((minute + (second / 60f)) * 360f / 60f)//(second * 360f / 60f)
hourAngle = ((hour + (minute / 60f)) * 360f / 12f)//(second * 360f / 60f)
sendWidgetIntent() sendWidgetIntent()
Thread.sleep(100) Thread.sleep(50)
} }
} }
}
private val screenOnOffReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val action = intent?.action ?: return
when (action) {
Intent.ACTION_SCREEN_OFF -> isScreenOn = false
Intent.ACTION_SCREEN_ON -> isScreenOn = true
}
}
}
private val screenOnOffIntentFilter: IntentFilter by lazy {
IntentFilter().apply {
this.addCategory(Intent.CATEGORY_DEFAULT)
this.addAction(Intent.ACTION_SCREEN_ON)
this.addAction(Intent.ACTION_SCREEN_OFF)
}
}
private var isScreenOn = true
override fun onBind(intent: Intent): IBinder { override fun onBind(intent: Intent): IBinder {
throw UnsupportedOperationException("Not yet implemented") throw UnsupportedOperationException("Not yet implemented")
@ -36,6 +66,9 @@ class ClockUpdateService : Service() {
isServiceRunning = true isServiceRunning = true
startForeground() startForeground()
registerReceiver(screenOnOffReceiver, screenOnOffIntentFilter)
Log.i(TAG, "Service on, register Broadcast Receiver.")
} }
@SuppressLint("WakelockTimeout") @SuppressLint("WakelockTimeout")
@ -47,7 +80,9 @@ class ClockUpdateService : Service() {
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
unregisterReceiver(screenOnOffReceiver)
isServiceRunning = false isServiceRunning = false
Log.i(TAG, "Service off, Unregister Broadcast Receiver and stop self.")
} }
//region Foreground Service 必要通知 //region Foreground Service 必要通知
@ -111,6 +146,8 @@ class ClockUpdateService : Service() {
var isServiceRunning = false var isServiceRunning = false
var secondAngle = 0f var secondAngle = 0f
var minuteAngle = 0f
var hourAngle = 0f
const val SECOND_CHANGED = "SECOND_CHANGED" const val SECOND_CHANGED = "SECOND_CHANGED"
const val SECOND_ANGLE = "SECOND_ANGLE" const val SECOND_ANGLE = "SECOND_ANGLE"

View File

@ -10,11 +10,15 @@ import com.ray650128.iosclockwidget.utils.PreferenceUtil
class AutoStartReceiver : BroadcastReceiver() { class AutoStartReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) { override fun onReceive(context: Context?, intent: Intent?) {
Log.d("AutoStartReceiver", "intent: ${intent?.action}") Log.d(TAG, "intent: ${intent?.action}")
if (context == null || intent == null) return if (context == null || intent == null) return
if (!PreferenceUtil.isGranted) return if (!PreferenceUtil.isGranted) return
val i = Intent(context, ClockUpdateService::class.java) val i = Intent(context, ClockUpdateService::class.java)
context.startForegroundService(i) context.startForegroundService(i)
Log.d("AutoStartReceiver", "Boot completed.") Log.d(TAG, "Boot completed.")
}
companion object {
private val TAG = AutoStartReceiver::class.java.simpleName
} }
} }

View File

@ -62,19 +62,37 @@ internal fun updateClockWidget(
// Construct the RemoteViews object // Construct the RemoteViews object
val views = RemoteViews(context.packageName, R.layout.i_o_s_clock_widget) val views = RemoteViews(context.packageName, R.layout.i_o_s_clock_widget)
views.setTextViewText(R.id.appwidget_text, widgetText) views.setTextViewText(R.id.appwidget_text, widgetText)
val bmpOriginal = BitmapFactory.decodeResource(context.applicationContext.resources, val bmpSecond = BitmapFactory.decodeResource(context.applicationContext.resources,
R.drawable.img_second_hand R.drawable.img_second_hand
) )
val bmpResult = Bitmap.createBitmap(285, 285, Bitmap.Config.ARGB_8888) val bmpMinute = BitmapFactory.decodeResource(context.applicationContext.resources,
val tempCanvas = Canvas(bmpResult) R.drawable.img_minute_hand
tempCanvas.rotate(ClockUpdateService.secondAngle, 285 / 2.toFloat(), 285 / 2.toFloat()) )
tempCanvas.drawBitmap(bmpOriginal, 0f, 0f, null) val bmpHour = BitmapFactory.decodeResource(context.applicationContext.resources,
views.setImageViewBitmap(R.id.imageView, bmpResult) R.drawable.img_hour_hand
)
val bmpSecondResult = Bitmap.createBitmap(285, 285, Bitmap.Config.ARGB_8888)
val tempSecondCanvas = Canvas(bmpSecondResult)
tempSecondCanvas.rotate(ClockUpdateService.secondAngle, 285 / 2.toFloat(), 285 / 2.toFloat())
tempSecondCanvas.drawBitmap(bmpSecond, 0f, 0f, null)
views.setImageViewBitmap(R.id.imgSec, bmpSecondResult)
val bmpMinuteResult = Bitmap.createBitmap(285, 285, Bitmap.Config.ARGB_8888)
val tempMinuteCanvas = Canvas(bmpMinuteResult)
tempMinuteCanvas.rotate(ClockUpdateService.minuteAngle, 285 / 2.toFloat(), 285 / 2.toFloat())
tempMinuteCanvas.drawBitmap(bmpMinute, 0f, 0f, null)
views.setImageViewBitmap(R.id.imgMinute, bmpMinuteResult)
val bmpHourResult = Bitmap.createBitmap(285, 285, Bitmap.Config.ARGB_8888)
val tempCanvas = Canvas(bmpHourResult)
tempCanvas.rotate(ClockUpdateService.hourAngle, 285 / 2.toFloat(), 285 / 2.toFloat())
tempCanvas.drawBitmap(bmpHour, 0f, 0f, null)
views.setImageViewBitmap(R.id.imgHour, bmpHourResult)
// Click to call Alarm // Click to call Alarm
val alarmClockIntent = Intent("android.intent.action.SHOW_ALARMS") val alarmClockIntent = Intent("android.intent.action.SHOW_ALARMS")
val pendingIntent = PendingIntent.getActivity(context, 0, alarmClockIntent, PendingIntent.FLAG_IMMUTABLE) val pendingIntent = PendingIntent.getActivity(context, 0, alarmClockIntent, PendingIntent.FLAG_IMMUTABLE)
views.setOnClickPendingIntent(R.id.imageView, pendingIntent) views.setOnClickPendingIntent(R.id.imgSec, pendingIntent)
// Instruct the widget manager to update the widget // Instruct the widget manager to update the widget
appWidgetManager.updateAppWidget(appWidgetId, views) appWidgetManager.updateAppWidget(appWidgetId, views)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -4,228 +4,228 @@
android:viewportWidth="200" android:viewportWidth="200"
android:viewportHeight="200"> android:viewportHeight="200">
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M50.41,17.07l2.16,-1.25l5.07,8.79l-2.16,1.25z"/> android:pathData="M50.41,17.07l2.16,-1.25l5.07,8.79l-2.16,1.25z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M141.76,175.3l2.16,-1.25l5.07,8.78l-2.16,1.25z"/> android:pathData="M141.76,175.3l2.16,-1.25l5.07,8.78l-2.16,1.25z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M173.84,56.01l8.79,-5.07l1.25,2.16l-8.79,5.07z"/> android:pathData="M173.84,56.01l8.79,-5.07l1.25,2.16l-8.79,5.07z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M15.6,147.36l8.79,-5.07l1.25,2.16l-8.79,5.07z"/> android:pathData="M15.6,147.36l8.79,-5.07l1.25,2.16l-8.79,5.07z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M15.54,52.78l1.25,-2.16l8.79,5.07l-1.25,2.16z"/> android:pathData="M15.54,52.78l1.25,-2.16l8.79,5.07l-1.25,2.16z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M173.77,144.14l1.25,-2.16l8.78,5.07l-1.25,2.16z"/> android:pathData="M173.77,144.14l1.25,-2.16l8.78,5.07l-1.25,2.16z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M141.9,24.78l5.07,-8.79l2.16,1.25l-5.07,8.79z"/> android:pathData="M141.9,24.78l5.07,-8.79l2.16,1.25l-5.07,8.79z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M50.54,183.02l5.07,-8.79l2.16,1.25l-5.07,8.79z"/> android:pathData="M50.54,183.02l5.07,-8.79l2.16,1.25l-5.07,8.79z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M98.47,3.58l2.5,0l0,10.15l-2.5,0z"/> android:pathData="M98.47,3.58l2.5,0l0,10.15l-2.5,0z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M98.47,186.29l2.5,0l0,10.14l-2.5,0z"/> android:pathData="M98.47,186.29l2.5,0l0,10.14l-2.5,0z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M185.9,99.01l10.15,0l0,2.5l-10.15,0z"/> android:pathData="M185.9,99.01l10.15,0l0,2.5l-10.15,0z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M3.18,99.01l10.15,0l0,2.5l-10.15,0z"/> android:pathData="M3.18,99.01l10.15,0l0,2.5l-10.15,0z"/>
<path <path
android:pathData="M42.37,22.67l2.02,-1.47l5.96,8.21l-2.02,1.47z" android:pathData="M42.37,22.67l2.02,-1.47l5.96,8.21l-2.02,1.47z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M149.77,170.48l2.02,-1.47l5.96,8.2l-2.02,1.47z" android:pathData="M149.77,170.48l2.02,-1.47l5.96,8.2l-2.02,1.47z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M169.2,48.48l8.21,-5.96l1.47,2.02l-8.21,5.96z" android:pathData="M169.2,48.48l8.21,-5.96l1.47,2.02l-8.21,5.96z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M21.38,155.89l8.21,-5.96l1.47,2.02l-8.21,5.96z" android:pathData="M21.38,155.89l8.21,-5.96l1.47,2.02l-8.21,5.96z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M11.42,61.86l1.02,-2.28l9.27,4.13l-1.02,2.28z" android:pathData="M11.42,61.86l1.02,-2.28l9.27,4.13l-1.02,2.28z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M178.34,136.17l1.02,-2.28l9.26,4.12l-1.02,2.28z" android:pathData="M178.34,136.17l1.02,-2.28l9.26,4.12l-1.02,2.28z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M134.17,20.81l4.13,-9.27l2.28,1.02l-4.13,9.27z" android:pathData="M134.17,20.81l4.13,-9.27l2.28,1.02l-4.13,9.27z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M59.85,187.72l4.13,-9.27l2.28,1.02l-4.13,9.27z" android:pathData="M59.85,187.72l4.13,-9.27l2.28,1.02l-4.13,9.27z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M88.79,4.26l2.48,-0.26l1.06,10.09l-2.48,0.26z" android:pathData="M88.79,4.26l2.48,-0.26l1.06,10.09l-2.48,0.26z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M107.88,185.97l2.48,-0.26l1.06,10.08l-2.48,0.26z" android:pathData="M107.88,185.97l2.48,-0.26l1.06,10.08l-2.48,0.26z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M185.71,90.03l10.09,-1.06l0.26,2.48l-10.09,1.06z" android:pathData="M185.71,90.03l10.09,-1.06l0.26,2.48l-10.09,1.06z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M4,109.13l10.09,-1.06l0.26,2.48l-10.09,1.06z" android:pathData="M4,109.13l10.09,-1.06l0.26,2.48l-10.09,1.06z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M34.68,29.17l1.86,-1.67l6.79,7.54l-1.86,1.67z" android:pathData="M34.68,29.17l1.86,-1.67l6.79,7.54l-1.86,1.67z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M156.91,164.95l1.86,-1.67l6.78,7.53l-1.86,1.67z" android:pathData="M156.91,164.95l1.86,-1.67l6.78,7.53l-1.86,1.67z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M163.5,41.6l7.54,-6.79l1.67,1.86l-7.54,6.79z" android:pathData="M163.5,41.6l7.54,-6.79l1.67,1.86l-7.54,6.79z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M27.71,163.85l7.54,-6.79l1.67,1.86l-7.54,6.79z" android:pathData="M27.71,163.85l7.54,-6.79l1.67,1.86l-7.54,6.79z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M7.85,71.28l0.77,-2.37l9.65,3.13l-0.77,2.37z" android:pathData="M7.85,71.28l0.77,-2.37l9.65,3.13l-0.77,2.37z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M181.62,127.73l0.77,-2.37l9.64,3.13l-0.77,2.37z" android:pathData="M181.62,127.73l0.77,-2.37l9.64,3.13l-0.77,2.37z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M125.63,17.61l3.13,-9.65l2.37,0.77l-3.13,9.65z" android:pathData="M125.63,17.61l3.13,-9.65l2.37,0.77l-3.13,9.65z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M69.18,191.4l3.13,-9.65l2.37,0.77l-3.13,9.65z" android:pathData="M69.18,191.4l3.13,-9.65l2.37,0.77l-3.13,9.65z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M78.83,6l2.44,-0.52l2.11,9.92l-2.44,0.52z" android:pathData="M78.83,6l2.44,-0.52l2.11,9.92l-2.44,0.52z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M116.81,184.71l2.44,-0.52l2.11,9.92l-2.44,0.52z" android:pathData="M116.81,184.71l2.44,-0.52l2.11,9.92l-2.44,0.52z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M184.18,81.17l9.92,-2.11l0.52,2.44l-9.92,2.11z" android:pathData="M184.18,81.17l9.92,-2.11l0.52,2.44l-9.92,2.11z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M5.47,119.15l9.92,-2.11l0.52,2.44l-9.92,2.11z" android:pathData="M5.47,119.15l9.92,-2.11l0.52,2.44l-9.92,2.11z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M27.63,36.38l1.67,-1.86l7.54,6.79l-1.67,1.86z" android:pathData="M27.63,36.38l1.67,-1.86l7.54,6.79l-1.67,1.86z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M163.4,158.64l1.67,-1.86l7.53,6.78l-1.67,1.86z" android:pathData="M163.4,158.64l1.67,-1.86l7.53,6.78l-1.67,1.86z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M157.06,35.27l6.79,-7.54l1.86,1.67l-6.79,7.54z" android:pathData="M157.06,35.27l6.79,-7.54l1.86,1.67l-6.79,7.54z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M34.79,171.04l6.79,-7.54l1.86,1.67l-6.79,7.54z" android:pathData="M34.79,171.04l6.79,-7.54l1.86,1.67l-6.79,7.54z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M5.51,81.08l0.52,-2.44l9.92,2.11l-0.52,2.44z" android:pathData="M5.51,81.08l0.52,-2.44l9.92,2.11l-0.52,2.44z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M184.22,119.08l0.52,-2.44l9.92,2.11l-0.52,2.44z" android:pathData="M184.22,119.08l0.52,-2.44l9.92,2.11l-0.52,2.44z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M117.05,15.41l2.11,-9.92l2.44,0.52l-2.11,9.92z" android:pathData="M117.05,15.41l2.11,-9.92l2.44,0.52l-2.11,9.92z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M79.04,194.13l2.11,-9.92l2.44,0.52l-2.11,9.92z" android:pathData="M79.04,194.13l2.11,-9.92l2.44,0.52l-2.11,9.92z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M69.11,8.56l2.37,-0.77l3.13,9.65l-2.37,0.77z" android:pathData="M69.11,8.56l2.37,-0.77l3.13,9.65l-2.37,0.77z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M125.57,182.34l2.37,-0.77l3.13,9.64l-2.37,0.77z" android:pathData="M125.57,182.34l2.37,-0.77l3.13,9.64l-2.37,0.77z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M181.77,72.31l9.65,-3.13l0.77,2.37l-9.65,3.13z" android:pathData="M181.77,72.31l9.65,-3.13l0.77,2.37l-9.65,3.13z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M7.96,128.78l9.65,-3.13l0.77,2.37l-9.65,3.13z" android:pathData="M7.96,128.78l9.65,-3.13l0.77,2.37l-9.65,3.13z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M21.32,44.22l1.47,-2.02l8.21,5.96l-1.47,2.02z" android:pathData="M21.32,44.22l1.47,-2.02l8.21,5.96l-1.47,2.02z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M169.14,151.62l1.47,-2.02l8.2,5.96l-1.47,2.02z" android:pathData="M169.14,151.62l1.47,-2.02l8.2,5.96l-1.47,2.02z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M149.93,29.58l5.96,-8.21l2.02,1.47l-5.96,8.21z" android:pathData="M149.93,29.58l5.96,-8.21l2.02,1.47l-5.96,8.21z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M42.52,177.41l5.96,-8.21l2.02,1.47l-5.96,8.21z" android:pathData="M42.52,177.41l5.96,-8.21l2.02,1.47l-5.96,8.21z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M4,91.07l0.26,-2.48l10.09,1.06l-0.26,2.48z" android:pathData="M4,91.07l0.26,-2.48l10.09,1.06l-0.26,2.48z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M185.71,110.18l0.26,-2.48l10.08,1.06l-0.26,2.48z" android:pathData="M185.71,110.18l0.26,-2.48l10.08,1.06l-0.26,2.48z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M108.06,14.1l1.06,-10.09l2.48,0.26l-1.06,10.09z" android:pathData="M108.06,14.1l1.06,-10.09l2.48,0.26l-1.06,10.09z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M88.95,195.82l1.06,-10.09l2.48,0.26l-1.06,10.09z" android:pathData="M88.95,195.82l1.06,-10.09l2.48,0.26l-1.06,10.09z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M59.77,12.46l2.28,-1.02l4.13,9.27l-2.28,1.02z" android:pathData="M59.77,12.46l2.28,-1.02l4.13,9.27l-2.28,1.02z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M134.07,179.36l2.28,-1.02l4.12,9.26l-2.28,1.02z" android:pathData="M134.07,179.36l2.28,-1.02l4.12,9.26l-2.28,1.02z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M178.45,64.08l9.27,-4.13l1.02,2.28l-9.27,4.13z" android:pathData="M178.45,64.08l9.27,-4.13l1.02,2.28l-9.27,4.13z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:pathData="M11.54,138.39l9.27,-4.13l1.02,2.28l-9.27,4.13z" android:pathData="M11.54,138.39l9.27,-4.13l1.02,2.28l-9.27,4.13z"
android:fillColor="#868687"/> android:fillColor="#B3B3B3"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M95.4,17.8v12.9h-2V20.1c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H95.4z"/> android:pathData="M95.4,17.8v12.9h-2V20.1c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H95.4z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M108,18.6c0.8,0.7 1.2,1.6 1.2,2.8c0,1.1 -0.4,2.1 -1.3,3c-0.5,0.5 -1.4,1.2 -2.7,2.1c-1.4,0.9 -2.2,1.7 -2.5,2.4h6.4v1.7h-8.9c0,-1.3 0.4,-2.4 1.3,-3.4c0.4,-0.5 1.4,-1.3 2.9,-2.3c0.9,-0.6 1.5,-1.1 1.8,-1.5c0.6,-0.7 0.9,-1.4 0.9,-2.1c0,-0.7 -0.2,-1.3 -0.6,-1.6c-0.4,-0.4 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.3 -1.8,0.8c-0.4,0.5 -0.6,1.3 -0.7,2.4h-2c0,-1.4 0.4,-2.6 1.2,-3.5c0.8,-0.9 1.9,-1.4 3.3,-1.4C106.3,17.5 107.3,17.9 108,18.6z"/> android:pathData="M108,18.6c0.8,0.7 1.2,1.6 1.2,2.8c0,1.1 -0.4,2.1 -1.3,3c-0.5,0.5 -1.4,1.2 -2.7,2.1c-1.4,0.9 -2.2,1.7 -2.5,2.4h6.4v1.7h-8.9c0,-1.3 0.4,-2.4 1.3,-3.4c0.4,-0.5 1.4,-1.3 2.9,-2.3c0.9,-0.6 1.5,-1.1 1.8,-1.5c0.6,-0.7 0.9,-1.4 0.9,-2.1c0,-0.7 -0.2,-1.3 -0.6,-1.6c-0.4,-0.4 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.3 -1.8,0.8c-0.4,0.5 -0.6,1.3 -0.7,2.4h-2c0,-1.4 0.4,-2.6 1.2,-3.5c0.8,-0.9 1.9,-1.4 3.3,-1.4C106.3,17.5 107.3,17.9 108,18.6z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M103.8,171h-1.9c-0.3,-1.2 -1,-1.9 -2.3,-1.9c-0.9,0 -1.6,0.4 -2.1,1.3c-0.5,0.8 -0.8,1.9 -0.8,3.1c0,0.1 0,0.2 0,0.2h0.1c0.4,-0.6 0.8,-1 1.4,-1.3c0.5,-0.3 1.1,-0.4 1.8,-0.4c1.3,0 2.3,0.4 3,1.2c0.7,0.8 1.1,1.9 1.1,3.1c0,1.3 -0.4,2.3 -1.3,3.2c-0.9,0.8 -1.9,1.3 -3.2,1.3c-1.6,0 -2.8,-0.6 -3.6,-1.7c-0.8,-1.1 -1.2,-2.6 -1.2,-4.6c0,-2.1 0.4,-3.8 1.3,-5.1c0.9,-1.3 2,-2 3.5,-2C102.1,167.5 103.5,168.7 103.8,171zM97.6,174.5c-0.5,0.5 -0.7,1.2 -0.7,2c0,0.8 0.2,1.5 0.7,2c0.5,0.5 1.1,0.8 1.9,0.8c0.8,0 1.4,-0.3 1.9,-0.8c0.5,-0.6 0.7,-1.2 0.7,-2c0,-0.8 -0.2,-1.5 -0.7,-2c-0.5,-0.5 -1.1,-0.8 -1.9,-0.8C98.7,173.7 98.1,174 97.6,174.5z"/> android:pathData="M103.8,171h-1.9c-0.3,-1.2 -1,-1.9 -2.3,-1.9c-0.9,0 -1.6,0.4 -2.1,1.3c-0.5,0.8 -0.8,1.9 -0.8,3.1c0,0.1 0,0.2 0,0.2h0.1c0.4,-0.6 0.8,-1 1.4,-1.3c0.5,-0.3 1.1,-0.4 1.8,-0.4c1.3,0 2.3,0.4 3,1.2c0.7,0.8 1.1,1.9 1.1,3.1c0,1.3 -0.4,2.3 -1.3,3.2c-0.9,0.8 -1.9,1.3 -3.2,1.3c-1.6,0 -2.8,-0.6 -3.6,-1.7c-0.8,-1.1 -1.2,-2.6 -1.2,-4.6c0,-2.1 0.4,-3.8 1.3,-5.1c0.9,-1.3 2,-2 3.5,-2C102.1,167.5 103.5,168.7 103.8,171zM97.6,174.5c-0.5,0.5 -0.7,1.2 -0.7,2c0,0.8 0.2,1.5 0.7,2c0.5,0.5 1.1,0.8 1.9,0.8c0.8,0 1.4,-0.3 1.9,-0.8c0.5,-0.6 0.7,-1.2 0.7,-2c0,-0.8 -0.2,-1.5 -0.7,-2c-0.5,-0.5 -1.1,-0.8 -1.9,-0.8C98.7,173.7 98.1,174 97.6,174.5z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M26.8,95.3C27.6,96.5 28,98 28,100c0,2.1 -0.4,3.8 -1.3,5.1c-0.9,1.3 -2.1,2 -3.5,2c-2.5,0 -3.9,-1.2 -4.2,-3.5h1.9c0.3,1.2 1,1.9 2.3,1.9c0.9,0 1.6,-0.4 2.1,-1.3c0.5,-0.9 0.8,-1.9 0.8,-3.1l0,-0.2H26c-0.3,0.5 -0.8,1 -1.4,1.3c-0.6,0.3 -1.1,0.4 -1.8,0.4c-1.3,0 -2.3,-0.4 -3,-1.2c-0.7,-0.8 -1.1,-1.8 -1.1,-3.1c0,-1.3 0.4,-2.4 1.3,-3.2c0.9,-0.8 1.9,-1.3 3.2,-1.3C24.8,93.6 25.9,94.2 26.8,95.3zM21.3,96c-0.5,0.5 -0.7,1.2 -0.7,2c0,0.8 0.2,1.5 0.7,2c0.5,0.5 1.1,0.8 1.9,0.8c0.8,0 1.4,-0.3 1.9,-0.8c0.5,-0.5 0.7,-1.2 0.7,-2c0,-0.8 -0.2,-1.5 -0.7,-2c-0.5,-0.5 -1.1,-0.8 -1.9,-0.8C22.4,95.3 21.8,95.5 21.3,96z"/> android:pathData="M26.8,95.3C27.6,96.5 28,98 28,100c0,2.1 -0.4,3.8 -1.3,5.1c-0.9,1.3 -2.1,2 -3.5,2c-2.5,0 -3.9,-1.2 -4.2,-3.5h1.9c0.3,1.2 1,1.9 2.3,1.9c0.9,0 1.6,-0.4 2.1,-1.3c0.5,-0.9 0.8,-1.9 0.8,-3.1l0,-0.2H26c-0.3,0.5 -0.8,1 -1.4,1.3c-0.6,0.3 -1.1,0.4 -1.8,0.4c-1.3,0 -2.3,-0.4 -3,-1.2c-0.7,-0.8 -1.1,-1.8 -1.1,-3.1c0,-1.3 0.4,-2.4 1.3,-3.2c0.9,-0.8 1.9,-1.3 3.2,-1.3C24.8,93.6 25.9,94.2 26.8,95.3zM21.3,96c-0.5,0.5 -0.7,1.2 -0.7,2c0,0.8 0.2,1.5 0.7,2c0.5,0.5 1.1,0.8 1.9,0.8c0.8,0 1.4,-0.3 1.9,-0.8c0.5,-0.5 0.7,-1.2 0.7,-2c0,-0.8 -0.2,-1.5 -0.7,-2c-0.5,-0.5 -1.1,-0.8 -1.9,-0.8C22.4,95.3 21.8,95.5 21.3,96z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M178,94.6c0.8,0.6 1.2,1.5 1.2,2.6c0,1.4 -0.7,2.4 -2.1,2.8c0.7,0.2 1.3,0.6 1.7,1.1c0.4,0.5 0.6,1.1 0.6,1.9c0,1.2 -0.4,2.2 -1.2,2.9c-0.9,0.8 -2,1.2 -3.4,1.2c-1.3,0 -2.4,-0.3 -3.2,-1c-0.9,-0.8 -1.4,-1.9 -1.5,-3.3h2c0,0.9 0.3,1.5 0.8,2c0.5,0.4 1.1,0.6 1.8,0.6c0.8,0 1.5,-0.2 2,-0.7c0.4,-0.4 0.7,-1 0.7,-1.6c0,-0.8 -0.2,-1.3 -0.7,-1.7c-0.4,-0.4 -1.1,-0.5 -1.9,-0.5h-0.9v-1.5h0.9c0.8,0 1.4,-0.2 1.8,-0.5c0.4,-0.3 0.6,-0.8 0.6,-1.5c0,-0.6 -0.2,-1.1 -0.6,-1.5c-0.4,-0.3 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.2 -1.8,0.6c-0.4,0.4 -0.7,1 -0.8,1.8h-1.9c0.1,-1.3 0.6,-2.3 1.4,-3c0.8,-0.7 1.8,-1.1 3.1,-1.1C176.1,93.6 177.2,93.9 178,94.6z"/> android:pathData="M178,94.6c0.8,0.6 1.2,1.5 1.2,2.6c0,1.4 -0.7,2.4 -2.1,2.8c0.7,0.2 1.3,0.6 1.7,1.1c0.4,0.5 0.6,1.1 0.6,1.9c0,1.2 -0.4,2.2 -1.2,2.9c-0.9,0.8 -2,1.2 -3.4,1.2c-1.3,0 -2.4,-0.3 -3.2,-1c-0.9,-0.8 -1.4,-1.9 -1.5,-3.3h2c0,0.9 0.3,1.5 0.8,2c0.5,0.4 1.1,0.6 1.8,0.6c0.8,0 1.5,-0.2 2,-0.7c0.4,-0.4 0.7,-1 0.7,-1.6c0,-0.8 -0.2,-1.3 -0.7,-1.7c-0.4,-0.4 -1.1,-0.5 -1.9,-0.5h-0.9v-1.5h0.9c0.8,0 1.4,-0.2 1.8,-0.5c0.4,-0.3 0.6,-0.8 0.6,-1.5c0,-0.6 -0.2,-1.1 -0.6,-1.5c-0.4,-0.3 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.2 -1.8,0.6c-0.4,0.4 -0.7,1 -0.8,1.8h-1.9c0.1,-1.3 0.6,-2.3 1.4,-3c0.8,-0.7 1.8,-1.1 3.1,-1.1C176.1,93.6 177.2,93.9 178,94.6z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M32.9,55.9v12.9h-2V58.2c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H32.9z"/> android:pathData="M32.9,55.9v12.9h-2V58.2c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H32.9z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M45.8,57.5c0.8,1.2 1.1,2.8 1.1,4.8c0,2 -0.4,3.6 -1.1,4.8c-0.8,1.3 -2,1.9 -3.5,1.9c-1.5,0 -2.7,-0.6 -3.5,-1.9c-0.8,-1.2 -1.1,-2.8 -1.1,-4.8c0,-2 0.4,-3.6 1.1,-4.8c0.8,-1.3 2,-1.9 3.5,-1.9C43.8,55.6 45,56.2 45.8,57.5zM40.1,59c-0.3,0.8 -0.5,1.9 -0.5,3.3c0,1.4 0.2,2.5 0.5,3.3c0.4,1.2 1.2,1.7 2.2,1.7c1.1,0 1.8,-0.6 2.2,-1.7c0.3,-0.8 0.5,-1.9 0.5,-3.3c0,-1.4 -0.2,-2.5 -0.5,-3.3c-0.4,-1.2 -1.2,-1.7 -2.2,-1.7C41.3,57.3 40.5,57.8 40.1,59z"/> android:pathData="M45.8,57.5c0.8,1.2 1.1,2.8 1.1,4.8c0,2 -0.4,3.6 -1.1,4.8c-0.8,1.3 -2,1.9 -3.5,1.9c-1.5,0 -2.7,-0.6 -3.5,-1.9c-0.8,-1.2 -1.1,-2.8 -1.1,-4.8c0,-2 0.4,-3.6 1.1,-4.8c0.8,-1.3 2,-1.9 3.5,-1.9C43.8,55.6 45,56.2 45.8,57.5zM40.1,59c-0.3,0.8 -0.5,1.9 -0.5,3.3c0,1.4 0.2,2.5 0.5,3.3c0.4,1.2 1.2,1.7 2.2,1.7c1.1,0 1.8,-0.6 2.2,-1.7c0.3,-0.8 0.5,-1.9 0.5,-3.3c0,-1.4 -0.2,-2.5 -0.5,-3.3c-0.4,-1.2 -1.2,-1.7 -2.2,-1.7C41.3,57.3 40.5,57.8 40.1,59z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M167.4,130.3h1.8v8.5h1.9v1.6h-1.9v2.8h-1.9v-2.8H161v-1.9L167.4,130.3zM167.3,132.8l-4.6,6h4.7L167.3,132.8L167.3,132.8z"/> android:pathData="M167.4,130.3h1.8v8.5h1.9v1.6h-1.9v2.8h-1.9v-2.8H161v-1.9L167.4,130.3zM167.3,132.8l-4.6,6h4.7L167.3,132.8L167.3,132.8z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M59.1,158.3h8.6v1.6l-4.6,11.3h-2.1l4.6,-11.1h-6.6V158.3z"/> android:pathData="M59.1,158.3h8.6v1.6l-4.6,11.3h-2.1l4.6,-11.1h-6.6V158.3z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M139.6,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H139.6z"/> android:pathData="M139.6,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H139.6z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M59.4,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H59.4z"/> android:pathData="M59.4,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H59.4z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M70.2,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H70.2z"/> android:pathData="M70.2,29.1v12.9h-2V31.4c-0.8,0.7 -1.8,1.3 -3,1.6v-1.9c0.6,-0.1 1.2,-0.4 1.8,-0.8c0.6,-0.4 1.2,-0.8 1.6,-1.3H70.2z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M134.6,158.3h7.7v1.7h-6.2l-0.4,3.7h0.1c0.4,-0.4 0.9,-0.7 1.4,-0.9c0.5,-0.2 1,-0.3 1.6,-0.3c1.2,0 2.2,0.4 3,1.2c0.8,0.8 1.2,1.9 1.2,3.3c0,1.3 -0.5,2.4 -1.5,3.3c-0.9,0.8 -2,1.1 -3.3,1.1c-1.1,0 -2.1,-0.3 -3,-1c-0.9,-0.7 -1.4,-1.6 -1.5,-2.8h1.9c0.1,0.7 0.4,1.3 0.8,1.6c0.4,0.3 1,0.5 1.7,0.5c0.8,0 1.4,-0.2 2,-0.7c0.5,-0.5 0.8,-1.2 0.8,-2c0,-0.9 -0.2,-1.6 -0.7,-2.1s-1.1,-0.8 -2,-0.8c-0.6,0 -1.1,0.1 -1.5,0.3c-0.5,0.2 -0.8,0.5 -1.1,1h-1.8L134.6,158.3z"/> android:pathData="M134.6,158.3h7.7v1.7h-6.2l-0.4,3.7h0.1c0.4,-0.4 0.9,-0.7 1.4,-0.9c0.5,-0.2 1,-0.3 1.6,-0.3c1.2,0 2.2,0.4 3,1.2c0.8,0.8 1.2,1.9 1.2,3.3c0,1.3 -0.5,2.4 -1.5,3.3c-0.9,0.8 -2,1.1 -3.3,1.1c-1.1,0 -2.1,-0.3 -3,-1c-0.9,-0.7 -1.4,-1.6 -1.5,-2.8h1.9c0.1,0.7 0.4,1.3 0.8,1.6c0.4,0.3 1,0.5 1.7,0.5c0.8,0 1.4,-0.2 2,-0.7c0.5,-0.5 0.8,-1.2 0.8,-2c0,-0.9 -0.2,-1.6 -0.7,-2.1s-1.1,-0.8 -2,-0.8c-0.6,0 -1.1,0.1 -1.5,0.3c-0.5,0.2 -0.8,0.5 -1.1,1h-1.8L134.6,158.3z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M40.2,132.9c0.7,0.6 1.1,1.5 1.1,2.4c0,0.7 -0.1,1.2 -0.4,1.7c-0.3,0.5 -0.8,0.8 -1.5,1.1v0.1c0.6,0.1 1.2,0.5 1.6,1.1c0.5,0.6 0.8,1.3 0.8,2.1c0,1.1 -0.4,2.1 -1.2,2.8c-0.9,0.7 -2,1.1 -3.5,1.1c-1.5,0 -2.7,-0.4 -3.5,-1.1c-0.8,-0.7 -1.2,-1.6 -1.2,-2.8c0,-0.8 0.3,-1.5 0.8,-2.1c0.4,-0.6 1,-0.9 1.6,-1.1v-0.1c-0.6,-0.3 -1.1,-0.6 -1.5,-1.1c-0.3,-0.5 -0.4,-1 -0.4,-1.7c0,-1 0.4,-1.8 1.1,-2.4c0.8,-0.7 1.9,-1.1 3.3,-1.1C38.3,131.8 39.4,132.2 40.2,132.9zM34.8,139.6c-0.5,0.4 -0.7,1 -0.7,1.7c0,0.7 0.2,1.2 0.7,1.6c0.5,0.4 1.2,0.6 2.1,0.6c0.9,0 1.6,-0.2 2.1,-0.6c0.5,-0.4 0.7,-1 0.7,-1.6c0,-0.7 -0.2,-1.3 -0.7,-1.7c-0.5,-0.5 -1.2,-0.7 -2.1,-0.7C36,138.9 35.3,139.2 34.8,139.6zM35,134c-0.4,0.4 -0.6,0.8 -0.6,1.4c0,0.6 0.2,1.1 0.5,1.5c0.4,0.4 1.1,0.6 2,0.6c0.9,0 1.6,-0.2 2,-0.6c0.3,-0.4 0.5,-0.9 0.5,-1.5c0,-0.5 -0.2,-1 -0.6,-1.4c-0.5,-0.4 -1.1,-0.6 -1.9,-0.6C36.1,133.4 35.5,133.6 35,134z"/> android:pathData="M40.2,132.9c0.7,0.6 1.1,1.5 1.1,2.4c0,0.7 -0.1,1.2 -0.4,1.7c-0.3,0.5 -0.8,0.8 -1.5,1.1v0.1c0.6,0.1 1.2,0.5 1.6,1.1c0.5,0.6 0.8,1.3 0.8,2.1c0,1.1 -0.4,2.1 -1.2,2.8c-0.9,0.7 -2,1.1 -3.5,1.1c-1.5,0 -2.7,-0.4 -3.5,-1.1c-0.8,-0.7 -1.2,-1.6 -1.2,-2.8c0,-0.8 0.3,-1.5 0.8,-2.1c0.4,-0.6 1,-0.9 1.6,-1.1v-0.1c-0.6,-0.3 -1.1,-0.6 -1.5,-1.1c-0.3,-0.5 -0.4,-1 -0.4,-1.7c0,-1 0.4,-1.8 1.1,-2.4c0.8,-0.7 1.9,-1.1 3.3,-1.1C38.3,131.8 39.4,132.2 40.2,132.9zM34.8,139.6c-0.5,0.4 -0.7,1 -0.7,1.7c0,0.7 0.2,1.2 0.7,1.6c0.5,0.4 1.2,0.6 2.1,0.6c0.9,0 1.6,-0.2 2.1,-0.6c0.5,-0.4 0.7,-1 0.7,-1.6c0,-0.7 -0.2,-1.3 -0.7,-1.7c-0.5,-0.5 -1.2,-0.7 -2.1,-0.7C36,138.9 35.3,139.2 34.8,139.6zM35,134c-0.4,0.4 -0.6,0.8 -0.6,1.4c0,0.6 0.2,1.1 0.5,1.5c0.4,0.4 1.1,0.6 2,0.6c0.9,0 1.6,-0.2 2,-0.6c0.3,-0.4 0.5,-0.9 0.5,-1.5c0,-0.5 -0.2,-1 -0.6,-1.4c-0.5,-0.4 -1.1,-0.6 -1.9,-0.6C36.1,133.4 35.5,133.6 35,134z"/>
<path <path
android:fillColor="#FF000000" android:fillColor="#1D1D1E"
android:pathData="M169.3,56.7c0.8,0.7 1.2,1.6 1.2,2.8c0,1.1 -0.4,2.1 -1.3,3c-0.5,0.5 -1.4,1.2 -2.7,2.1c-1.4,0.9 -2.2,1.7 -2.5,2.4h6.4v1.7h-8.9c0,-1.3 0.4,-2.4 1.3,-3.4c0.4,-0.5 1.4,-1.3 2.9,-2.3c0.9,-0.6 1.5,-1.1 1.8,-1.5c0.6,-0.7 0.9,-1.4 0.9,-2.1c0,-0.7 -0.2,-1.3 -0.6,-1.6c-0.4,-0.4 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.3 -1.8,0.8c-0.4,0.5 -0.6,1.3 -0.7,2.4h-2c0,-1.4 0.4,-2.6 1.2,-3.5c0.8,-0.9 1.9,-1.4 3.3,-1.4C167.5,55.6 168.5,56 169.3,56.7z"/> android:pathData="M169.3,56.7c0.8,0.7 1.2,1.6 1.2,2.8c0,1.1 -0.4,2.1 -1.3,3c-0.5,0.5 -1.4,1.2 -2.7,2.1c-1.4,0.9 -2.2,1.7 -2.5,2.4h6.4v1.7h-8.9c0,-1.3 0.4,-2.4 1.3,-3.4c0.4,-0.5 1.4,-1.3 2.9,-2.3c0.9,-0.6 1.5,-1.1 1.8,-1.5c0.6,-0.7 0.9,-1.4 0.9,-2.1c0,-0.7 -0.2,-1.3 -0.6,-1.6c-0.4,-0.4 -1,-0.5 -1.7,-0.5c-0.8,0 -1.4,0.3 -1.8,0.8c-0.4,0.5 -0.6,1.3 -0.7,2.4h-2c0,-1.4 0.4,-2.6 1.2,-3.5c0.8,-0.9 1.9,-1.4 3.3,-1.4C167.5,55.6 168.5,56 169.3,56.7z"/>
</vector> </vector>

View File

@ -6,7 +6,7 @@
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:theme="@style/Theme.IOSClockWidget.AppWidgetContainer"> android:theme="@style/Theme.IOSClockWidget.AppWidgetContainer">
<AnalogClock <!--AnalogClock
android:id="@+id/IOSClockView" android:id="@+id/IOSClockView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -15,10 +15,42 @@
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:dial="@drawable/bg_clock_dial" android:dial="@drawable/bg_clock_dial"
android:hand_hour="@drawable/img_hour_hand" android:hand_hour="@drawable/img_hour_hand"
android:hand_minute="@drawable/img_minute_hand" /> android:hand_minute="@drawable/img_minute_hand" /-->
<ImageView <ImageView
android:id="@+id/imageView" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/appwidget_text"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/bg_clock_dial" />
<ImageView
android:id="@+id/imgHour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/appwidget_text"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:padding="16dp"
android:scaleType="fitCenter"
app:srcCompat="@drawable/img_hour_hand" />
<ImageView
android:id="@+id/imgMinute"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/appwidget_text"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:padding="16dp"
android:scaleType="fitCenter"
app:srcCompat="@drawable/img_minute_hand" />
<ImageView
android:id="@+id/imgSec"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/appwidget_text" android:layout_above="@+id/appwidget_text"

View File

@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
id 'com.android.application' version '7.4.2' apply false id 'com.android.application' version '8.0.1' apply false
id 'com.android.library' version '7.4.2' apply false id 'com.android.library' version '8.0.1' apply false
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
} }

View File

@ -21,3 +21,5 @@ kotlin.code.style=official
# resources declared in the library itself and none from the library's dependencies, # resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library # thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true android.nonTransitiveRClass=true
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false

View File

@ -1,6 +1,6 @@
#Fri Apr 07 14:37:11 CST 2023 #Fri Apr 07 14:37:11 CST 2023
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME