use context compat to load resources

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2021-08-21 13:48:30 +02:00
parent 01a6675795
commit 3742c4ed99
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B

View File

@ -21,21 +21,14 @@
package com.nextcloud.talk.controllers.bottomsheet; package com.nextcloud.talk.controllers.bottomsheet;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import autodagger.AutoInjector;
import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.kennyc.bottomsheet.adapters.AppAdapter; import com.kennyc.bottomsheet.adapters.AppAdapter;
@ -55,17 +48,30 @@ import com.nextcloud.talk.utils.DisplayUtils;
import com.nextcloud.talk.utils.ShareUtils; import com.nextcloud.talk.utils.ShareUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.parceler.Parcel; import org.parceler.Parcel;
import org.parceler.Parcels; import org.parceler.Parcels;
import javax.inject.Inject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import autodagger.AutoInjector;
import butterknife.BindView;
import eu.davidea.flexibleadapter.FlexibleAdapter;
import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager;
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class CallMenuController extends BaseController implements FlexibleAdapter.OnItemClickListener { public class CallMenuController extends BaseController implements FlexibleAdapter.OnItemClickListener {
@BindView(R.id.recycler_view) @BindView(R.id.recycler_view)
@ -77,6 +83,9 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
@Inject @Inject
UserUtils userUtils; UserUtils userUtils;
@Inject
Context context;
private Conversation conversation; private Conversation conversation;
private List<AbstractFlexibleItem> menuItems; private List<AbstractFlexibleItem> menuItems;
private FlexibleAdapter<AbstractFlexibleItem> adapter; private FlexibleAdapter<AbstractFlexibleItem> adapter;
@ -104,6 +113,7 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
} }
@Override @Override
@NonNull
protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) { protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
return inflater.inflate(R.layout.controller_call_menu, container, false); return inflater.inflate(R.layout.controller_call_menu, container, false);
} }
@ -153,45 +163,57 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
if (conversation.isFavorite()) { if (conversation.isFavorite()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_remove_from_favorites), 97, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_border_black_24dp, R.color.grey_600))); menuItems.add(new MenuItem(getResources().getString(R.string.nc_remove_from_favorites), 97, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_border_black_24dp, R.color.grey_600)));
} else if (CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "favorites")) { } else if (CapabilitiesUtil.hasSpreedFeatureCapability(currentUser, "favorites")) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_add_to_favorites) menuItems.add(new MenuItem(getResources().getString(R.string.nc_add_to_favorites),
, 98, DisplayUtils.getTintedDrawable(getResources(), R.drawable.ic_star_black_24dp, R.color.grey_600))); 98,
DisplayUtils.getTintedDrawable(getResources(),
R.drawable.ic_star_black_24dp,
R.color.grey_600)));
} }
if (conversation.isNameEditable(currentUser)) { if (conversation.isNameEditable(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename), 2, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename),
.ic_pencil_grey600_24dp))); 2,
ContextCompat.getDrawable(context,
R.drawable.ic_pencil_grey600_24dp)));
} }
if (conversation.canModerate(currentUser)) { if (conversation.canModerate(currentUser)) {
if (!conversation.isPublic()) { if (!conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public), 3, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public),
.ic_link_grey600_24px))); 3, ContextCompat.getDrawable(context,
R.drawable.ic_link_grey600_24px)));
} else { } else {
if (conversation.isHasPassword()) { if (conversation.isHasPassword()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password), 4, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password),
.ic_lock_grey600_24px))); 4, ContextCompat.getDrawable(context,
menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password), 5, getResources().getDrawable(R.drawable R.drawable.ic_lock_grey600_24px)));
.ic_lock_open_grey600_24dp))); menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password),
5,
ContextCompat.getDrawable(context,
R.drawable.ic_lock_open_grey600_24dp)));
} else { } else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password), 6, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password),
.ic_lock_plus_grey600_24dp))); 6, ContextCompat.getDrawable(context,
R.drawable.ic_lock_plus_grey600_24dp)));
} }
} }
menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call), 9, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call),
.ic_delete_grey600_24dp))); 9, ContextCompat.getDrawable(context,
R.drawable.ic_delete_grey600_24dp)));
} }
if (conversation.isPublic()) { if (conversation.isPublic()) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link), 7, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link),
.ic_link_grey600_24px))); 7, ContextCompat.getDrawable(context,
R.drawable.ic_link_grey600_24px)));
if (conversation.canModerate(currentUser)) { if (conversation.canModerate(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private), 8, getResources().getDrawable(R.drawable menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private),
.ic_group_grey600_24px))); 8, ContextCompat.getDrawable(context,
R.drawable.ic_group_grey600_24px)));
} }
} }
if (conversation.canLeave(currentUser)) { if (conversation.canLeave(currentUser)) {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 1, menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 1,
DisplayUtils.getTintedDrawable(getResources(), DisplayUtils.getTintedDrawable(getResources(),
@ -202,8 +224,10 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
prepareIntent(); prepareIntent();
List<AppAdapter.AppInfo> appInfoList = ShareUtils.getShareApps(getActivity(), shareIntent, null, List<AppAdapter.AppInfo> appInfoList = ShareUtils.getShareApps(getActivity(), shareIntent, null,
null); null);
menuItems.add(new AppItem(getResources().getString(R.string.nc_share_link_via), "", "", menuItems.add(new AppItem(getResources().getString(R.string.nc_share_link_via),
getResources().getDrawable(R.drawable.ic_link_grey600_24px))); "",
"",
ContextCompat.getDrawable(context, R.drawable.ic_link_grey600_24px)));
if (appInfoList != null) { if (appInfoList != null) {
for (AppAdapter.AppInfo appInfo : appInfoList) { for (AppAdapter.AppInfo appInfo : appInfoList) {
menuItems.add(new AppItem(appInfo.title, appInfo.packageName, appInfo.name, appInfo.drawable)); menuItems.add(new AppItem(appInfo.title, appInfo.packageName, appInfo.name, appInfo.drawable));
@ -211,8 +235,12 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
} }
} else { } else {
menuItems.add(new MenuItem(getResources().getString(R.string.nc_start_conversation), 0, null)); menuItems.add(new MenuItem(getResources().getString(R.string.nc_start_conversation), 0, null));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation), 1, getResources().getDrawable(R.drawable.ic_add_grey600_24px))); menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation),
menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link), 2, getResources().getDrawable(R.drawable.ic_link_grey600_24px))); 1, ContextCompat.getDrawable(context,
R.drawable.ic_add_grey600_24px)));
menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link),
2, ContextCompat.getDrawable(context,
R.drawable.ic_link_grey600_24px)));
} }
} }