Advertisement
Guest User

Untitled

a guest
Jul 14th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 4.85 KB | None | 0 0
  1. package com.test.hex.draftapp.numbered
  2.  
  3. import android.appwidget.AppWidgetManager
  4. import android.appwidget.AppWidgetProvider
  5. import android.content.Context
  6. import android.content.Context.MODE_PRIVATE
  7. import android.content.SharedPreferences
  8. import android.util.Log
  9. import android.widget.RemoteViews
  10. import com.test.hex.draftapp.R
  11. import java.util.*
  12.  
  13. private const val LOG_TAG = "myLogs"
  14.  
  15. class L117Widget : AppWidgetProvider() {
  16.  
  17.     override fun onEnabled(context: Context?) {
  18.         super.onEnabled(context)
  19.         Log.d(LOG_TAG, "onEnabled")
  20.     }
  21.  
  22.     override fun onUpdate(context: Context?, appWidgetManager: AppWidgetManager?, appWidgetIds: IntArray) {
  23.         super.onUpdate(context, appWidgetManager, appWidgetIds)
  24.         Log.d(LOG_TAG, "onUpdate ${Arrays.toString(appWidgetIds)}")
  25.  
  26.         val sp = context?.getSharedPreferences(WIDGET_PREF, MODE_PRIVATE)
  27.         for (i in 0 until appWidgetIds.size) {
  28.             updateWidget(context, appWidgetManager, sp, appWidgetIds[i])
  29.         }
  30.     }
  31.  
  32.     override fun onDeleted(context: Context?, appWidgetIds: IntArray) {
  33.         super.onDeleted(context, appWidgetIds)
  34.         Log.d(LOG_TAG, "onDeleted ${Arrays.toString(appWidgetIds)}")
  35.  
  36.         val editor = context?.getSharedPreferences(WIDGET_PREF, MODE_PRIVATE)?.edit()
  37.         for (i in 0 until appWidgetIds.size) {
  38.             editor?.remove(WIDGET_TEXT + appWidgetIds[i])
  39.             editor?.remove(WIDGET_COLOR + appWidgetIds[i])
  40.         }
  41.         editor?.apply()
  42.     }
  43.  
  44.     override fun onDisabled(context: Context?) {
  45.         super.onDisabled(context)
  46.         Log.d(LOG_TAG, "onDisables")
  47.     }
  48. }
  49.  
  50. fun updateWidget(context: Context?, appWidgetManager: AppWidgetManager?, sp: SharedPreferences?, widgetID: Int) {
  51.     Log.d(LOG_TAG, "updateWidget")
  52.  
  53.     val widgetText = sp?.getString(WIDGET_TEXT + widgetID, null) ?: return
  54.     val widgetColor = sp.getInt(WIDGET_COLOR + widgetID, 0)
  55.     appWidgetManager?.updateAppWidget(widgetID,
  56.             RemoteViews(context?.packageName, R.layout.l117_widget).apply {
  57.                 setTextViewText(R.id.tvText, widgetText)
  58.                 setInt(R.id.tvText, "setBackgroundColor", widgetColor)
  59.             }
  60.     )
  61.     Log.d(LOG_TAG, "updateWidget end")
  62. }
  63. ////////////////////////////////////////////////////////////////////////////////////////
  64. ////////////////////////////////////////////////////////////////////////////////////////
  65. package com.test.hex.draftapp.numbered
  66.  
  67. import android.app.Activity
  68. import android.appwidget.AppWidgetManager
  69. import android.content.Context
  70. import android.content.Intent
  71. import android.graphics.Color
  72. import android.support.v7.app.AppCompatActivity
  73. import android.os.Bundle
  74. import android.util.Log
  75. import android.widget.Button
  76. import android.widget.EditText
  77. import android.widget.RadioGroup
  78. import com.test.hex.draftapp.R
  79.  
  80. const val WIDGET_PREF = "widget_pref"
  81. const val WIDGET_TEXT = "widget_text_"
  82. const val WIDGET_COLOR = "widget_color_"
  83. private const val LOG_TAG = "myLogs"
  84.  
  85. class L118WidgetConfig : AppCompatActivity() {
  86.     var widgetID = AppWidgetManager.INVALID_APPWIDGET_ID
  87.     lateinit var resultValue: Intent
  88.  
  89.     override fun onCreate(savedInstanceState: Bundle?) {
  90.         super.onCreate(savedInstanceState)
  91.         setContentView(R.layout.l118_widget_config)
  92.  
  93.         Log.d(LOG_TAG, "onCreate")
  94.         val extras = intent.extras
  95.         if (extras != null) {
  96.             widgetID = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
  97.                     AppWidgetManager.INVALID_APPWIDGET_ID)
  98.         }
  99.         if (widgetID == AppWidgetManager.INVALID_APPWIDGET_ID) finish()
  100.         resultValue = Intent().putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetID)
  101.         setResult(RESULT_CANCELED, resultValue)
  102.         setContentView(R.layout.l118_widget_config)
  103.  
  104.         findViewById<Button>(R.id.btnOk).setOnClickListener {
  105.             val selectedColor = findViewById<RadioGroup>(R.id.rgColor).checkedRadioButtonId
  106.             var color = Color.RED
  107.             when (selectedColor) {
  108.                 R.id.rbRed -> {
  109.                     color = Color.parseColor("#66ff0000")
  110.                 }
  111.                 R.id.rbGreen -> {
  112.                     color = Color.parseColor("#6600ff00")
  113.                 }
  114.                 R.id.rbBlue -> {
  115.                     color = Color.parseColor("#660000ff")
  116.                 }
  117.             }
  118.             val writtenText = findViewById<EditText>(R.id.etText).text.toString()
  119.  
  120.             val sp = getSharedPreferences(WIDGET_PREF, Context.MODE_PRIVATE)
  121.             val editor = sp.edit()
  122.             editor.putString(WIDGET_TEXT + widgetID, writtenText)
  123.             editor.putInt(WIDGET_COLOR + widgetID, color)
  124.             editor.apply()
  125.             setResult(Activity.RESULT_OK, resultValue)
  126.  
  127.             Log.d(packageName, "finish config + $widgetID")
  128.             finish()
  129.         }
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement