Advertisement
Guest User

Untitled

a guest
Aug 26th, 2015
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 2.72 KB | None | 0 0
  1. package com.pavelsikun.customizablesearchwidget.activity
  2.  
  3. import android.app.Activity
  4. import android.appwidget.AppWidgetManager
  5. import android.content.Intent
  6. import android.graphics.Color
  7. import android.os.Bundle
  8. import android.support.design.widget.CoordinatorLayout
  9. import android.support.design.widget.FloatingActionButton
  10. import android.support.v7.app.AppCompatActivity
  11. import android.view.Menu
  12. import android.view.MenuItem
  13. import com.pavelsikun.customizablesearchwidget.R
  14. import com.pavelsikun.customizablesearchwidget.WidgetController
  15. import com.pavelsikun.customizablesearchwidget.fragment.WidgetConfigurationFragment
  16. import com.pavelsikun.customizablesearchwidget.util.DataManager
  17. import kotlinx.android.synthetic.activity_widget_configure.*
  18. import kotlin.properties.Delegates
  19.  
  20. public class WidgetConfigurationActivity : AppCompatActivity() {
  21.  
  22.     var widgetId = AppWidgetManager.INVALID_APPWIDGET_ID
  23.  
  24.     val data: DataManager.WidgetData by Delegates.lazy { DataManager.getWidgetData(this, widgetId) }
  25.     val fabButton: FloatingActionButton by Delegates.lazy { fab }
  26.     val coordinator: CoordinatorLayout by Delegates.lazy { coordinatorLayout }
  27.  
  28.     override fun onCreate(bundle: Bundle?) {
  29.         super.onCreate(bundle)
  30.         setResult(Activity.RESULT_CANCELED)
  31.         getIntent().getExtras()?.let {
  32.             widgetId = it.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
  33.                     AppWidgetManager.INVALID_APPWIDGET_ID)
  34.         }
  35.         if(widgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
  36.             finish()
  37.             return
  38.         }
  39.         setContentView(R.layout.activity_widget_configure)
  40.  
  41.         getFragmentManager().beginTransaction()
  42.                 .replace(R.id.fragment, WidgetConfigurationFragment()).commit()
  43.  
  44.         setSupportActionBar(toolbar)
  45.         getSupportActionBar().setDisplayHomeAsUpEnabled(true)
  46.  
  47.         fab.setColorFilter(Color.WHITE)
  48.     }
  49.  
  50.     override fun onCreateOptionsMenu(menu: Menu?): Boolean {
  51.         getMenuInflater().inflate(R.menu.toolbar_menu, menu)
  52.         return true
  53.     }
  54.  
  55.     override fun onOptionsItemSelected(item: MenuItem?): Boolean {
  56.         when(item?.getItemId()) {
  57.             android.R.id.home -> finish()
  58.             R.id.action_apply -> apply()
  59.         }
  60.         return super.onOptionsItemSelected(item)
  61.     }
  62.  
  63.     fun apply() {
  64.         DataManager.saveWidgetData(this, widgetId, data)
  65.         val appWidgetManager = AppWidgetManager.getInstance(this)
  66.         WidgetController.updateAppWidget(this, appWidgetManager, widgetId)
  67.  
  68.         val resultValue = Intent()
  69.         resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId)
  70.         setResult(Activity.RESULT_OK, resultValue)
  71.         finish()
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement