Skip to content

Commit 862b0d2

Browse files
authored
Update Widget and Intent (#45)
- Abort on Calendar Sharing - Update Widget onStop
1 parent 97ccee1 commit 862b0d2

File tree

3 files changed

+77
-24
lines changed

3 files changed

+77
-24
lines changed

app/src/main/java/com/djangofiles/djangofiles/MainActivity.kt

Lines changed: 53 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -65,30 +65,30 @@ class MainActivity : AppCompatActivity() {
6565

6666
private val preferences by lazy { getSharedPreferences("AppPreferences", MODE_PRIVATE) }
6767

68-
private val listener = SharedPreferences.OnSharedPreferenceChangeListener { prefs, key ->
69-
Log.d("SharedPreferences", "OnSharedPreferenceChangeListener: $key")
70-
//val value = prefs.getString(key, "")
71-
if (key == "saved_url") {
72-
val value = prefs.getString(key, "")
73-
Log.i("SharedPreferences", "value: $value")
74-
75-
Log.i("SharedPreferences", "Updating Widget")
76-
val appWidgetManager = AppWidgetManager.getInstance(this)
77-
val widgetComponent = ComponentName(this, WidgetProvider::class.java)
78-
val widgetIds = appWidgetManager.getAppWidgetIds(widgetComponent)
79-
val intent = Intent(this, WidgetProvider::class.java).apply {
80-
action = AppWidgetManager.ACTION_APPWIDGET_UPDATE
81-
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds)
82-
}
83-
this.sendBroadcast(intent)
84-
}
85-
}
68+
//private val listener = SharedPreferences.OnSharedPreferenceChangeListener { prefs, key ->
69+
// Log.d("SharedPreferences", "OnSharedPreferenceChangeListener: $key")
70+
// //val value = prefs.getString(key, "")
71+
// if (key == "saved_url") {
72+
// val value = prefs.getString(key, "")
73+
// Log.i("SharedPreferences", "value: $value")
74+
//
75+
// Log.i("SharedPreferences", "Updating Widget")
76+
// val appWidgetManager = AppWidgetManager.getInstance(this)
77+
// val widgetComponent = ComponentName(this, WidgetProvider::class.java)
78+
// val widgetIds = appWidgetManager.getAppWidgetIds(widgetComponent)
79+
// val intent = Intent(this, WidgetProvider::class.java).apply {
80+
// action = AppWidgetManager.ACTION_APPWIDGET_UPDATE
81+
// putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds)
82+
// }
83+
// this.sendBroadcast(intent)
84+
// }
85+
//}
8686

8787
override fun onDestroy() {
8888
super.onDestroy()
8989
Log.d("Main[onDestroy]", "ON DESTROY")
9090
// TODO: Determine if this is necessary...
91-
preferences.unregisterOnSharedPreferenceChangeListener(listener)
91+
//preferences.unregisterOnSharedPreferenceChangeListener(listener)
9292
}
9393

9494
@OptIn(UnstableApi::class)
@@ -100,8 +100,8 @@ class MainActivity : AppCompatActivity() {
100100
binding = ActivityMainBinding.inflate(layoutInflater)
101101
setContentView(binding.root)
102102

103-
Log.d("Main[onCreate]", "registerOnSharedPreferenceChangeListener")
104-
preferences.registerOnSharedPreferenceChangeListener(listener)
103+
//Log.d("Main[onCreate]", "registerOnSharedPreferenceChangeListener")
104+
//preferences.registerOnSharedPreferenceChangeListener(listener)
105105
//val sharedPreferences = getSharedPreferences("AppPreferences", MODE_PRIVATE)
106106

107107
val uniqueID = preferences.getString("unique_id", null)
@@ -301,6 +301,16 @@ class MainActivity : AppCompatActivity() {
301301
Log.d("handleIntent", "type: $type")
302302
Log.d("handleIntent", "action: $action")
303303

304+
val isCalendarUri = data != null &&
305+
data.authority?.contains("calendar") == true &&
306+
listOf("/events", "/calendars", "/time").any { data.path?.contains(it) == true }
307+
Log.d("handleIntent", "isCalendarUri: $isCalendarUri")
308+
if (isCalendarUri) {
309+
Log.i("handleIntent", "Calendar Links Not Supported!")
310+
Toast.makeText(this, "Calendar Links Not Supported!", Toast.LENGTH_LONG).show()
311+
return
312+
}
313+
304314
val extraText = intent.getStringExtra(Intent.EXTRA_TEXT)
305315
Log.d("handleIntent", "extraText: $extraText")
306316

@@ -600,6 +610,12 @@ class MainActivity : AppCompatActivity() {
600610
}
601611
}
602612
}
613+
614+
override fun onStop() {
615+
super.onStop()
616+
Log.d("Main[onStop]", "MainActivity - onStop")
617+
this.updateWidget()
618+
}
603619
}
604620

605621
@UnstableApi
@@ -622,6 +638,22 @@ object MediaCache {
622638
}
623639
}
624640

641+
fun Context.updateWidget() {
642+
Log.d("updateWidget", "Context.updateWidget")
643+
644+
//val appWidgetManager = AppWidgetManager.getInstance(this)
645+
//val componentName = ComponentName(this, WidgetProvider::class.java)
646+
//val ids = appWidgetManager.getAppWidgetIds(componentName)
647+
//appWidgetManager.notifyAppWidgetViewDataChanged(ids, R.id.widget_list_view)
648+
//WidgetProvider().onUpdate(this, appWidgetManager, ids)
649+
650+
val appWidgetManager = AppWidgetManager.getInstance(this)
651+
val componentName = ComponentName(this, WidgetProvider::class.java)
652+
val ids = appWidgetManager.getAppWidgetIds(componentName)
653+
WidgetProvider().onUpdate(this, appWidgetManager, ids)
654+
}
655+
656+
625657
fun copyToClipboard(context: Context, text: String, msg: String? = null) {
626658
//Log.d("copyToClipboard", "text: $text")
627659
var message = msg

app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ class HomeFragment : Fragment() {
4141

4242
private var webViewState: Bundle = Bundle()
4343
private var currentUrl: String = ""
44-
//private var clearHistory = false
4544

4645
val viewModel: HomeViewModel by activityViewModels()
4746

@@ -77,8 +76,7 @@ class HomeFragment : Fragment() {
7776
// TODO: Not sure when this method is triggered...
7877
if (savedInstanceState != null) {
7978
Log.i("Home[onViewCreated]", "SETTING webViewState FROM savedInstanceState")
80-
webViewState =
81-
savedInstanceState.getBundle("webViewState") ?: Bundle() // Ensure non-null
79+
webViewState = savedInstanceState.getBundle("webViewState") ?: Bundle()
8280
Log.d("Home[onViewCreated]", "webViewState: ${webViewState.size()}")
8381
}
8482

@@ -341,5 +339,27 @@ class HomeFragment : Fragment() {
341339
Log.d("receiveAuthToken", "Auth Token Not Changes.")
342340
}
343341
}
342+
343+
//@JavascriptInterface
344+
//fun receiveStats(files: String?, size: String?, human: String?, shorts: String?) {
345+
// Log.d("receiveStats", "files: $files")
346+
// Log.d("receiveStats", "size: $size")
347+
// Log.d("receiveStats", "human: $human")
348+
// Log.d("receiveStats", "shorts: $shorts")
349+
// if (files != null && size != null && human != null && shorts != null) {
350+
// Log.i("receiveStats", "UPDATE STATS")
351+
// val dao: ServerDao = ServerDatabase.getInstance(context).serverDao()
352+
// dao.addOrUpdate(
353+
// Server(
354+
// url = currentUrl,
355+
// size = size.toLong(),
356+
// count = files.toInt(),
357+
// shorts = shorts.toInt(),
358+
// humanSize = human,
359+
// )
360+
// )
361+
// Log.d("receiveStats", "dao.addOrUpdate: DONE")
362+
// }
363+
//}
344364
}
345365
}

app/src/main/res/layout/activity_main.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
android:layout_width="wrap_content"
2222
android:layout_height="match_parent"
2323
android:layout_gravity="start"
24+
android:fitsSystemWindows="true"
2425
app:headerLayout="@layout/nav_header_main"
2526
app:menu="@menu/drawer_menu" />
2627
</androidx.drawerlayout.widget.DrawerLayout>

0 commit comments

Comments
 (0)