Skip to content

Commit 464dd21

Browse files
Suppressed deprecated code, Added more network capabilities, color correction, code clean-up.
1 parent 2237b0c commit 464dd21

File tree

7 files changed

+35
-40
lines changed

7 files changed

+35
-40
lines changed

app/src/main/java/com/developerbreach/developerbreach/fcm/AppFirebaseService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.developerbreach.developerbreach.fcm
22

3+
import android.annotation.SuppressLint
34
import android.app.NotificationChannel
45
import android.app.NotificationManager
56
import android.app.PendingIntent
@@ -30,6 +31,7 @@ class AppFirebaseService : FirebaseMessagingService() {
3031
*
3132
* @param body FCM message body received.
3233
*/
34+
@SuppressLint("UnspecifiedImmutableFlag")
3335
private fun sendNotification(title: String, body: String) {
3436

3537
val intent = Intent(this, MainActivity::class.java)

app/src/main/java/com/developerbreach/developerbreach/model/DataObjectConverters.kt

Lines changed: 0 additions & 32 deletions
This file was deleted.

app/src/main/java/com/developerbreach/developerbreach/view/detail/ArticleDetailViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ class ArticleDetailViewModel(
1919
val articleId: Int
2020
) : AndroidViewModel(application) {
2121

22-
private val repository = AppRepository(getDatabaseInstance(application))
22+
private val articleDatabase = getDatabaseInstance(application)
23+
private val repository = AppRepository(articleDatabase)
2324

2425
private val _authorData = MutableLiveData<Pair<String, String>>()
2526
val authorData: LiveData<Pair<String, String>>

app/src/main/java/com/developerbreach/developerbreach/view/network/NetworkFragment.kt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
package com.developerbreach.developerbreach.view.network
22

3+
import android.content.Context
4+
import android.net.ConnectivityManager
35
import android.os.Bundle
46
import android.view.LayoutInflater
57
import android.view.View
68
import android.view.ViewGroup
79
import androidx.fragment.app.Fragment
810
import androidx.navigation.fragment.findNavController
11+
import com.developerbreach.developerbreach.R
912
import com.developerbreach.developerbreach.databinding.FragmentNetworkBinding
13+
import com.developerbreach.developerbreach.utils.showSnackBar
1014

1115

1216
class NetworkFragment : Fragment() {
1317

1418
private lateinit var binding: FragmentNetworkBinding
19+
private lateinit var manager: ConnectivityManager
20+
21+
override fun onCreate(savedInstanceState: Bundle?) {
22+
super.onCreate(savedInstanceState)
23+
val systemService = requireContext().getSystemService(Context.CONNECTIVITY_SERVICE)
24+
manager = systemService as ConnectivityManager
25+
}
1526

1627
override fun onCreateView(
1728
inflater: LayoutInflater, container: ViewGroup?,
@@ -34,7 +45,12 @@ class NetworkFragment : Fragment() {
3445
})
3546

3647
binding.noInternetConnectionTryAgain.setOnClickListener {
37-
// checkNetworkConnection()
48+
val isAvailable = NetworkManager(requireContext()).checkForActiveNetwork()
49+
if (isAvailable) {
50+
findNavController().navigateUp()
51+
} else {
52+
showSnackBar(getString(R.string.no_internet_connection), requireActivity())
53+
}
3854
}
3955
}
4056
}

app/src/main/java/com/developerbreach/developerbreach/view/network/NetworkManager.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.developerbreach.developerbreach.view.network
33
import android.content.Context
44
import android.net.ConnectivityManager
55
import android.net.Network
6+
import android.net.NetworkCapabilities
67
import androidx.core.content.ContextCompat
78
import androidx.lifecycle.LiveData
89
import androidx.lifecycle.MutableLiveData
@@ -17,13 +18,14 @@ import androidx.lifecycle.MutableLiveData
1718
*/
1819
class NetworkManager(context: Context) {
1920

21+
private val manager: ConnectivityManager? =
22+
ContextCompat.getSystemService(context, ConnectivityManager::class.java)
23+
2024
private val _isConnected = MutableLiveData<Boolean>()
2125
val isConnected: LiveData<Boolean>
2226
get() = _isConnected
2327

2428
init {
25-
val manager = ContextCompat.getSystemService(context, ConnectivityManager::class.java)
26-
2729
manager?.registerDefaultNetworkCallback(object : ConnectivityManager.NetworkCallback() {
2830
override fun onAvailable(network: Network) {
2931
_isConnected.postValue(true)
@@ -34,4 +36,11 @@ class NetworkManager(context: Context) {
3436
}
3537
})
3638
}
39+
40+
fun checkForActiveNetwork(): Boolean {
41+
val activeNetwork: Network? = manager?.activeNetwork
42+
val capabilities: NetworkCapabilities? = manager?.getNetworkCapabilities(activeNetwork)
43+
return capabilities != null &&
44+
capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
45+
}
3746
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
app:layout_constraintTop_toBottomOf="@id/recent_posts_tag"
9090
tools:itemCount="6"
9191
tools:listitem="@layout/item_recent_articles"
92-
tools:visibility="invisible" />
92+
tools:visibility="visible" />
9393

9494
<com.google.android.material.progressindicator.CircularProgressIndicator
9595
android:id="@+id/progress_bar_recent_articles"

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<com.google.android.material.card.MaterialCardView
3-
xmlns:android="http://schemas.android.com/apk/res/android"
2+
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
43
xmlns:app="http://schemas.android.com/apk/res-auto"
54
xmlns:tools="http://schemas.android.com/tools"
65
android:layout_width="match_parent"
76
android:layout_height="48dp"
87
android:layout_marginHorizontal="16dp"
98
android:layout_marginVertical="12dp"
9+
app:cardBackgroundColor="?attr/colorSecondary"
1010
app:cardCornerRadius="8dp"
1111
app:cardElevation="0dp"
12-
app:cardBackgroundColor="?attr/colorSecondary"
1312
app:layout_constraintStart_toStartOf="parent"
1413
app:layout_constraintTop_toTopOf="parent"
1514
tools:showIn="@layout/fragment_home">

0 commit comments

Comments
 (0)