Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.test.hex.draftapp.numbered
- import android.appwidget.AppWidgetManager
- import android.appwidget.AppWidgetProvider
- import android.content.Context
- import android.content.Context.MODE_PRIVATE
- import android.content.SharedPreferences
- import android.util.Log
- import android.widget.RemoteViews
- import com.test.hex.draftapp.R
- import java.util.*
- private const val LOG_TAG = "myLogs"
- class L117Widget : AppWidgetProvider() {
- override fun onEnabled(context: Context?) {
- super.onEnabled(context)
- Log.d(LOG_TAG, "onEnabled")
- }
- override fun onUpdate(context: Context?, appWidgetManager: AppWidgetManager?, appWidgetIds: IntArray) {
- super.onUpdate(context, appWidgetManager, appWidgetIds)
- Log.d(LOG_TAG, "onUpdate ${Arrays.toString(appWidgetIds)}")
- val sp = context?.getSharedPreferences(WIDGET_PREF, MODE_PRIVATE)
- for (i in 0 until appWidgetIds.size) {
- updateWidget(context, appWidgetManager, sp, appWidgetIds[i])
- }
- }
- override fun onDeleted(context: Context?, appWidgetIds: IntArray) {
- super.onDeleted(context, appWidgetIds)
- Log.d(LOG_TAG, "onDeleted ${Arrays.toString(appWidgetIds)}")
- val editor = context?.getSharedPreferences(WIDGET_PREF, MODE_PRIVATE)?.edit()
- for (i in 0 until appWidgetIds.size) {
- editor?.remove(WIDGET_TEXT + appWidgetIds[i])
- editor?.remove(WIDGET_COLOR + appWidgetIds[i])
- }
- editor?.apply()
- }
- override fun onDisabled(context: Context?) {
- super.onDisabled(context)
- Log.d(LOG_TAG, "onDisables")
- }
- }
- fun updateWidget(context: Context?, appWidgetManager: AppWidgetManager?, sp: SharedPreferences?, widgetID: Int) {
- Log.d(LOG_TAG, "updateWidget")
- val widgetText = sp?.getString(WIDGET_TEXT + widgetID, null) ?: return
- val widgetColor = sp.getInt(WIDGET_COLOR + widgetID, 0)
- appWidgetManager?.updateAppWidget(widgetID,
- RemoteViews(context?.packageName, R.layout.l117_widget).apply {
- setTextViewText(R.id.tvText, widgetText)
- setInt(R.id.tvText, "setBackgroundColor", widgetColor)
- }
- )
- Log.d(LOG_TAG, "updateWidget end")
- }
- ////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////
- package com.test.hex.draftapp.numbered
- import android.app.Activity
- import android.appwidget.AppWidgetManager
- import android.content.Context
- import android.content.Intent
- import android.graphics.Color
- import android.support.v7.app.AppCompatActivity
- import android.os.Bundle
- import android.util.Log
- import android.widget.Button
- import android.widget.EditText
- import android.widget.RadioGroup
- import com.test.hex.draftapp.R
- const val WIDGET_PREF = "widget_pref"
- const val WIDGET_TEXT = "widget_text_"
- const val WIDGET_COLOR = "widget_color_"
- private const val LOG_TAG = "myLogs"
- class L118WidgetConfig : AppCompatActivity() {
- var widgetID = AppWidgetManager.INVALID_APPWIDGET_ID
- lateinit var resultValue: Intent
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.l118_widget_config)
- Log.d(LOG_TAG, "onCreate")
- val extras = intent.extras
- if (extras != null) {
- widgetID = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
- AppWidgetManager.INVALID_APPWIDGET_ID)
- }
- if (widgetID == AppWidgetManager.INVALID_APPWIDGET_ID) finish()
- resultValue = Intent().putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetID)
- setResult(RESULT_CANCELED, resultValue)
- setContentView(R.layout.l118_widget_config)
- findViewById<Button>(R.id.btnOk).setOnClickListener {
- val selectedColor = findViewById<RadioGroup>(R.id.rgColor).checkedRadioButtonId
- var color = Color.RED
- when (selectedColor) {
- R.id.rbRed -> {
- color = Color.parseColor("#66ff0000")
- }
- R.id.rbGreen -> {
- color = Color.parseColor("#6600ff00")
- }
- R.id.rbBlue -> {
- color = Color.parseColor("#660000ff")
- }
- }
- val writtenText = findViewById<EditText>(R.id.etText).text.toString()
- val sp = getSharedPreferences(WIDGET_PREF, Context.MODE_PRIVATE)
- val editor = sp.edit()
- editor.putString(WIDGET_TEXT + widgetID, writtenText)
- editor.putInt(WIDGET_COLOR + widgetID, color)
- editor.apply()
- setResult(Activity.RESULT_OK, resultValue)
- Log.d(packageName, "finish config + $widgetID")
- finish()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement