Update UI, Update project structure, bug fixes
This commit is contained in:
@ -2,7 +2,6 @@ package com.tommasoberlose.anotherwidget.ui.activity
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.PendingIntent
|
||||
import android.content.pm.PackageManager
|
||||
import android.support.v7.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
@ -10,25 +9,20 @@ import android.support.v4.app.ActivityCompat
|
||||
import android.appwidget.AppWidgetManager
|
||||
import android.content.*
|
||||
import android.preference.PreferenceManager
|
||||
import android.provider.CalendarContract
|
||||
import android.support.v4.content.ContextCompat
|
||||
import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
import android.widget.Toast
|
||||
import com.tommasoberlose.anotherwidget.`object`.Constants
|
||||
import com.tommasoberlose.anotherwidget.R
|
||||
import com.tommasoberlose.anotherwidget.util.Util
|
||||
import com.tommasoberlose.anotherwidget.ui.widget.TheWidget
|
||||
import com.tommasoberlose.anotherwidget.util.UpdatesReceiver
|
||||
import com.tommasoberlose.anotherwidget.util.WeatherReceiver
|
||||
import com.tommasoberlose.anotherwidget.receiver.UpdatesReceiver
|
||||
import com.tommasoberlose.anotherwidget.receiver.WeatherReceiver
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import kotlinx.android.synthetic.main.the_widget.*
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import android.content.Intent
|
||||
import android.content.BroadcastReceiver
|
||||
|
||||
|
||||
import com.tommasoberlose.anotherwidget.util.CalendarUtil
|
||||
import com.tommasoberlose.anotherwidget.util.WeatherUtil
|
||||
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
@ -121,7 +115,6 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
updateAppWidget()
|
||||
Util.updateWidget(this)
|
||||
}
|
||||
|
||||
|
||||
@ -140,7 +133,7 @@ class MainActivity : AppCompatActivity() {
|
||||
empty_date.text = String.format("%s%s", Constants.dateFormat.format(now.time)[0].toUpperCase(), Constants.dateFormat.format(now.time).substring(1))
|
||||
|
||||
if (calendarLayout) {
|
||||
val eventList = Util.getNextEvent(this)
|
||||
val eventList = CalendarUtil.getNextEvent(this)
|
||||
|
||||
if (eventList.isNotEmpty()) {
|
||||
val difference = eventList[0].startDate - now.timeInMillis
|
||||
@ -185,8 +178,8 @@ class MainActivity : AppCompatActivity() {
|
||||
weather_icon.visibility = View.GONE
|
||||
empty_weather_icon.visibility = View.GONE
|
||||
} else {
|
||||
weather_icon.setImageResource(Util.getWeatherIconResource(icon))
|
||||
empty_weather_icon.setImageResource(Util.getWeatherIconResource(icon))
|
||||
weather_icon.setImageResource(WeatherUtil.getWeatherIconResource(icon))
|
||||
empty_weather_icon.setImageResource(WeatherUtil.getWeatherIconResource(icon))
|
||||
}
|
||||
|
||||
temp.text = currentTemp
|
||||
@ -197,17 +190,22 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("ApplySharedPref")
|
||||
fun updateSettings() {
|
||||
val SP = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
temp_unit.text = if (SP.getString(Constants.PREF_WEATHER_TEMP_UNIT, "F").equals("F")) getString(R.string.fahrenheit) else getString(R.string.celsius)
|
||||
action_change_unit.setOnClickListener(object: View.OnClickListener {
|
||||
@SuppressLint("ApplySharedPref")
|
||||
override fun onClick(p0: View?) {
|
||||
SP.edit().putString(Constants.PREF_WEATHER_TEMP_UNIT, if (SP.getString(Constants.PREF_WEATHER_TEMP_UNIT, "F").equals("F")) "C" else "F").commit()
|
||||
Util.getWeather(this@MainActivity)
|
||||
updateSettings()
|
||||
}
|
||||
})
|
||||
action_change_unit.setOnClickListener {
|
||||
SP.edit().putString(Constants.PREF_WEATHER_TEMP_UNIT, if (SP.getString(Constants.PREF_WEATHER_TEMP_UNIT, "F").equals("F")) "C" else "F").commit()
|
||||
WeatherUtil.getWeather(this)
|
||||
updateSettings()
|
||||
}
|
||||
|
||||
all_day_label.text = if (SP.getBoolean(Constants.PREF_CALENDAR_ALL_DAY, false)) getString(R.string.settings_all_day_subtitle_visible) else getString(R.string.settings_all_day_subtitle_gone)
|
||||
action_show_all_day.setOnClickListener {
|
||||
SP.edit().putBoolean(Constants.PREF_CALENDAR_ALL_DAY, !SP.getBoolean(Constants.PREF_CALENDAR_ALL_DAY, false)).commit()
|
||||
updateUI()
|
||||
Util.updateWidget(this)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,30 +5,25 @@ import android.appwidget.AppWidgetManager
|
||||
import android.appwidget.AppWidgetProvider
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.preference.PreferenceManager
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
|
||||
import com.tommasoberlose.anotherwidget.`object`.Constants
|
||||
import com.tommasoberlose.anotherwidget.`object`.Event
|
||||
import com.tommasoberlose.anotherwidget.R
|
||||
import com.tommasoberlose.anotherwidget.ui.activity.MainActivity
|
||||
import com.tommasoberlose.anotherwidget.util.UpdatesReceiver
|
||||
import com.tommasoberlose.anotherwidget.receiver.UpdatesReceiver
|
||||
import com.tommasoberlose.anotherwidget.util.Util
|
||||
import com.tommasoberlose.anotherwidget.util.WeatherReceiver
|
||||
import com.tommasoberlose.anotherwidget.receiver.WeatherReceiver
|
||||
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import android.app.PendingIntent
|
||||
import android.net.Uri
|
||||
import android.provider.CalendarContract
|
||||
import android.content.ContentUris
|
||||
|
||||
|
||||
import android.util.Log
|
||||
import com.tommasoberlose.anotherwidget.util.CalendarUtil
|
||||
import com.tommasoberlose.anotherwidget.util.WeatherUtil
|
||||
|
||||
|
||||
/**
|
||||
@ -62,7 +57,7 @@ class TheWidget : AppWidgetProvider() {
|
||||
|
||||
views = updateCalendarView(context, views, appWidgetId)
|
||||
|
||||
views = updateLocationView(context, views)
|
||||
views = updateLocationView(context, views, appWidgetId)
|
||||
|
||||
appWidgetManager.updateAppWidget(appWidgetId, views)
|
||||
}
|
||||
@ -73,7 +68,7 @@ class TheWidget : AppWidgetProvider() {
|
||||
|
||||
views.setViewVisibility(R.id.empty_layout, View.VISIBLE)
|
||||
views.setViewVisibility(R.id.calendar_layout, View.GONE)
|
||||
views.setTextViewText(R.id.empty_date, Constants.dateFormat.format(now.time))
|
||||
views.setTextViewText(R.id.empty_date, Constants.dateFormat.format(now.time)[0].toUpperCase() + Constants.dateFormat.format(now.time).substring(1))
|
||||
|
||||
val calIntent = Intent(Intent.ACTION_MAIN)
|
||||
calIntent.addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
@ -82,7 +77,7 @@ class TheWidget : AppWidgetProvider() {
|
||||
|
||||
|
||||
if (calendarLayout) {
|
||||
val eventList = Util.getNextEvent(context)
|
||||
val eventList = CalendarUtil.getNextEvent(context)
|
||||
|
||||
if (eventList.isNotEmpty()) {
|
||||
val difference = eventList[0].startDate - now.timeInMillis
|
||||
@ -120,7 +115,7 @@ class TheWidget : AppWidgetProvider() {
|
||||
return views
|
||||
}
|
||||
|
||||
fun updateLocationView(context: Context, views: RemoteViews): RemoteViews {
|
||||
fun updateLocationView(context: Context, views: RemoteViews, widgetID: Int): RemoteViews {
|
||||
val locationLayout = Util.checkGrantedPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION)
|
||||
|
||||
val SP = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
@ -137,12 +132,21 @@ class TheWidget : AppWidgetProvider() {
|
||||
views.setViewVisibility(R.id.weather_icon, View.GONE)
|
||||
views.setViewVisibility(R.id.empty_weather_icon, View.GONE)
|
||||
} else {
|
||||
views.setImageViewResource(R.id.weather_icon, Util.getWeatherIconResource(icon))
|
||||
views.setImageViewResource(R.id.empty_weather_icon, Util.getWeatherIconResource(icon))
|
||||
views.setImageViewResource(R.id.weather_icon, WeatherUtil.getWeatherIconResource(icon))
|
||||
views.setImageViewResource(R.id.empty_weather_icon, WeatherUtil.getWeatherIconResource(icon))
|
||||
}
|
||||
|
||||
views.setTextViewText(R.id.temp, temp)
|
||||
views.setTextViewText(R.id.calendar_temp, temp)
|
||||
|
||||
val weatherIntent = Intent("com.google.android.googlequicksearchbox.GOOGLE_SEARCH")
|
||||
weatherIntent.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
weatherIntent.putExtra("type", "string")
|
||||
weatherIntent.putExtra("query", "weather")
|
||||
val weatherPIntent = PendingIntent.getActivity(context, widgetID, weatherIntent, 0)
|
||||
|
||||
views.setOnClickPendingIntent(R.id.weather, weatherPIntent)
|
||||
views.setOnClickPendingIntent(R.id.calendar_weather, weatherPIntent)
|
||||
} else {
|
||||
views.setViewVisibility(R.id.weather, View.GONE)
|
||||
views.setViewVisibility(R.id.calendar_weather, View.GONE)
|
||||
|
Reference in New Issue
Block a user