mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-10-30 19:15:35 +00:00 
			
		
		
		
	fix pending badge
This commit is contained in:
		
							parent
							
								
									ac89f9d70e
								
							
						
					
					
						commit
						aca44f0ab9
					
				| @ -5,6 +5,7 @@ import android.content.Context; | ||||
| import android.content.IntentFilter; | ||||
| import android.content.res.Configuration; | ||||
| import android.os.Bundle; | ||||
| import android.os.Handler; | ||||
| import android.util.Log; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.Menu; | ||||
| @ -104,6 +105,11 @@ public class DirectMessageInboxFragment extends Fragment implements SwipeRefresh | ||||
|     public void onPause() { | ||||
|         super.onPause(); | ||||
|         unregisterReceiver(); | ||||
|         isPendingRequestTotalBadgeAttached = false; | ||||
|         if (pendingRequestTotalBadgeDrawable != null) { | ||||
|             BadgeUtils.detachBadgeDrawable(pendingRequestTotalBadgeDrawable, fragmentActivity.getToolbar(), pendingRequestsMenuItem.getItemId()); | ||||
|             pendingRequestTotalBadgeDrawable = null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @ -124,21 +130,13 @@ public class DirectMessageInboxFragment extends Fragment implements SwipeRefresh | ||||
|     public void onDestroyView() { | ||||
|         super.onDestroyView(); | ||||
|         unregisterReceiver(); | ||||
|         isPendingRequestTotalBadgeAttached = false; | ||||
|         if (pendingRequestTotalBadgeDrawable != null) { | ||||
|             BadgeUtils.detachBadgeDrawable(pendingRequestTotalBadgeDrawable, fragmentActivity.getToolbar(), pendingRequestsMenuItem.getItemId()); | ||||
|             pendingRequestTotalBadgeDrawable = null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void onCreateOptionsMenu(@NonNull final Menu menu, @NonNull final MenuInflater inflater) { | ||||
|         super.onCreateOptionsMenu(menu, inflater); | ||||
|         pendingRequestsMenuItem = menu.add(Menu.NONE, R.id.pending_requests, Menu.NONE, "Pending requests"); | ||||
|         pendingRequestsMenuItem.setIcon(R.drawable.ic_account_clock_24) | ||||
|                                .setVisible(false) | ||||
|                                .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS); | ||||
|         attachPendingRequestsBadge(viewModel.getPendingRequestsTotal().getValue()); | ||||
|         inflater.inflate(R.menu.dm_inbox_menu, menu); | ||||
|         pendingRequestsMenuItem = menu.findItem(R.id.pending_requests); | ||||
|         pendingRequestsMenuItem.setVisible(isPendingRequestTotalBadgeAttached); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @ -213,7 +211,16 @@ public class DirectMessageInboxFragment extends Fragment implements SwipeRefresh | ||||
| 
 | ||||
|     @SuppressLint("UnsafeExperimentalUsageError") | ||||
|     private void attachPendingRequestsBadge(@Nullable final Integer count) { | ||||
|         if (pendingRequestsMenuItem == null) return; | ||||
|         if (pendingRequestsMenuItem == null) { | ||||
|             final Handler handler = new Handler(); | ||||
|             handler.postDelayed(new Runnable() { | ||||
|                 @Override | ||||
|                 public void run() { | ||||
|                     attachPendingRequestsBadge(count); | ||||
|                 } | ||||
|             }, 500); | ||||
|             return; | ||||
|         } | ||||
|         if (pendingRequestTotalBadgeDrawable == null) { | ||||
|             final Context context = getContext(); | ||||
|             if (context == null) return; | ||||
|  | ||||
							
								
								
									
										10
									
								
								app/src/main/res/menu/dm_inbox_menu.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/src/main/res/menu/dm_inbox_menu.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto"> | ||||
|     <item | ||||
|         android:id="@+id/pending_requests" | ||||
|         android:icon="@drawable/ic_account_clock_24" | ||||
|         android:title="@string/pending_requests" | ||||
|         android:visible="false" | ||||
|         app:showAsAction="always" /> | ||||
| </menu> | ||||
| @ -4,5 +4,4 @@ | ||||
|     <item name="unsend" type="id" /> | ||||
|     <item name="forward" type="id" /> | ||||
|     <item name="detail" type="id" /> | ||||
|     <item name="pending_requests" type="id" /> | ||||
| </resources> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user