Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pavelsikun.customizablesearchwidget.activity
- import android.app.Activity
- import android.appwidget.AppWidgetManager
- import android.content.Intent
- import android.graphics.Color
- import android.os.Bundle
- import android.support.design.widget.CoordinatorLayout
- import android.support.design.widget.FloatingActionButton
- import android.support.v7.app.AppCompatActivity
- import android.view.Menu
- import android.view.MenuItem
- import com.pavelsikun.customizablesearchwidget.R
- import com.pavelsikun.customizablesearchwidget.WidgetController
- import com.pavelsikun.customizablesearchwidget.fragment.WidgetConfigurationFragment
- import com.pavelsikun.customizablesearchwidget.util.DataManager
- import kotlinx.android.synthetic.activity_widget_configure.*
- import kotlin.properties.Delegates
- public class WidgetConfigurationActivity : AppCompatActivity() {
- var widgetId = AppWidgetManager.INVALID_APPWIDGET_ID
- val data: DataManager.WidgetData by Delegates.lazy { DataManager.getWidgetData(this, widgetId) }
- val fabButton: FloatingActionButton by Delegates.lazy { fab }
- val coordinator: CoordinatorLayout by Delegates.lazy { coordinatorLayout }
- override fun onCreate(bundle: Bundle?) {
- super.onCreate(bundle)
- setResult(Activity.RESULT_CANCELED)
- getIntent().getExtras()?.let {
- widgetId = it.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
- AppWidgetManager.INVALID_APPWIDGET_ID)
- }
- if(widgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
- finish()
- return
- }
- setContentView(R.layout.activity_widget_configure)
- getFragmentManager().beginTransaction()
- .replace(R.id.fragment, WidgetConfigurationFragment()).commit()
- setSupportActionBar(toolbar)
- getSupportActionBar().setDisplayHomeAsUpEnabled(true)
- fab.setColorFilter(Color.WHITE)
- }
- override fun onCreateOptionsMenu(menu: Menu?): Boolean {
- getMenuInflater().inflate(R.menu.toolbar_menu, menu)
- return true
- }
- override fun onOptionsItemSelected(item: MenuItem?): Boolean {
- when(item?.getItemId()) {
- android.R.id.home -> finish()
- R.id.action_apply -> apply()
- }
- return super.onOptionsItemSelected(item)
- }
- fun apply() {
- DataManager.saveWidgetData(this, widgetId, data)
- val appWidgetManager = AppWidgetManager.getInstance(this)
- WidgetController.updateAppWidget(this, appWidgetManager, widgetId)
- val resultValue = Intent()
- resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId)
- setResult(Activity.RESULT_OK, resultValue)
- finish()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement