| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -53,28 +53,39 @@ class BatteryView @JvmOverloads constructor( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @SuppressLint("SetTextI18n") | 
					 | 
					 | 
					 | 
					    @SuppressLint("SetTextI18n") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    fun setTextAndBattery(text: String = "", battery: Int = 0) { | 
					 | 
					 | 
					 | 
					    fun setBattery(battery: Int, text: String? = null) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.battery = battery | 
					 | 
					 | 
					 | 
					        this.battery = battery | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (isBattery) { | 
					 | 
					 | 
					 | 
					        if (isBattery) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            batteryWidth = StaticLayout.getDesiredWidth(battery.toString(), paint).toInt() | 
					 | 
					 | 
					 | 
					            batteryWidth = StaticLayout.getDesiredWidth(battery.toString(), paint).toInt() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (text.isNullOrEmpty()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            setText(battery.toString()) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            setText("$text  $battery") | 
					 | 
					 | 
					 | 
					            setText("$text  $battery") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    override fun onDraw(canvas: Canvas) { | 
					 | 
					 | 
					 | 
					    override fun onDraw(canvas: Canvas) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onDraw(canvas) | 
					 | 
					 | 
					 | 
					        super.onDraw(canvas) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!isBattery) return | 
					 | 
					 | 
					 | 
					        if (!isBattery) return | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        layout.getLineBounds(0, outFrame) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        val batteryStart = layout | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            .getPrimaryHorizontal(text.length - battery.toString().length) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            .toInt() + 3.dp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        val batteryEnd = layout | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            .getSecondaryHorizontal(text.length) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            .toInt() + 6.dp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        outFrame.set( | 
					 | 
					 | 
					 | 
					        outFrame.set( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            width - 6.dp - batteryWidth, | 
					 | 
					 | 
					 | 
					            batteryStart, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            1.dp, | 
					 | 
					 | 
					 | 
					            1.dp, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            width - 3.dp, | 
					 | 
					 | 
					 | 
					            batteryEnd, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            height - 1.dp | 
					 | 
					 | 
					 | 
					            height - 1.dp | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ) | 
					 | 
					 | 
					 | 
					        ) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        val dj = (outFrame.bottom - outFrame.top) / 3 | 
					 | 
					 | 
					 | 
					        val dj = (outFrame.bottom - outFrame.top) / 3 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        polar.set( | 
					 | 
					 | 
					 | 
					        polar.set( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            outFrame.right, | 
					 | 
					 | 
					 | 
					            batteryEnd, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            outFrame.top + dj, | 
					 | 
					 | 
					 | 
					            outFrame.top + dj, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            width - 1.dp, | 
					 | 
					 | 
					 | 
					            batteryEnd + 2.dp, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            outFrame.bottom - dj | 
					 | 
					 | 
					 | 
					            outFrame.bottom - dj | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ) | 
					 | 
					 | 
					 | 
					        ) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        batteryPaint.style = Paint.Style.STROKE | 
					 | 
					 | 
					 | 
					        batteryPaint.style = Paint.Style.STROKE | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |