Merge pull request #5116 from ByteHamster/vector-drawable-compat

Use VectorDrawable compat library
This commit is contained in:
ByteHamster 2021-04-21 23:29:53 +02:00 committed by GitHub
commit daf6226483
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
231 changed files with 476 additions and 879 deletions

View File

@ -222,10 +222,10 @@ public class VideoplayerActivity extends MediaplayerActivity {
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) skipAnimationView.getLayoutParams();
if (isForward) {
skipAnimationView.setImageResource(R.drawable.ic_av_fast_forward_white_80dp);
skipAnimationView.setImageResource(R.drawable.ic_fast_forward_video_white);
params.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
} else {
skipAnimationView.setImageResource(R.drawable.ic_av_fast_rewind_white_80dp);
skipAnimationView.setImageResource(R.drawable.ic_fast_rewind_video_white);
params.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
}
@ -421,7 +421,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
if (PictureInPictureUtil.supportsPictureInPicture(this)) {
menu.findItem(R.id.player_go_to_picture_in_picture).setVisible(true);
}
menu.findItem(R.id.audio_controls).setIcon(R.drawable.ic_sliders_white);
menu.findItem(R.id.audio_controls).setIcon(R.drawable.ic_sliders);
return true;
}

View File

@ -77,7 +77,7 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte
holder.link.setText(sc.getLink());
holder.link.setOnClickListener(v -> IntentUtils.openInBrowser(context, sc.getLink()));
}
holder.secondaryActionIcon.setImageResource(ThemeUtils.getDrawableFromAttr(context, R.attr.av_play));
holder.secondaryActionIcon.setImageResource(R.drawable.ic_play_48dp);
holder.secondaryActionButton.setContentDescription(context.getString(R.string.play_chapter));
holder.secondaryActionButton.setOnClickListener(v -> {
if (callback != null) {
@ -92,7 +92,7 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte
progress = Math.max(progress, CircularProgressBar.MINIMUM_PERCENTAGE);
progress = Math.min(progress, CircularProgressBar.MAXIMUM_PERCENTAGE);
holder.progressBar.setPercentage(progress, position);
holder.secondaryActionIcon.setImageResource(ThemeUtils.getDrawableFromAttr(context, R.attr.av_replay));
holder.secondaryActionIcon.setImageResource(R.drawable.ic_replay);
} else {
holder.itemView.setBackgroundColor(ContextCompat.getColor(context, android.R.color.transparent));
holder.progressBar.setPercentage(0, null);

View File

@ -20,7 +20,6 @@ import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.view.viewholder.DownloadItemViewHolder;
/**
@ -82,8 +81,7 @@ public class DownloadLogAdapter extends BaseAdapter {
holder.secondaryActionButton.setOnClickListener(null);
holder.secondaryActionButton.setTag(null);
} else {
holder.secondaryActionIcon.setImageResource(
ThemeUtils.getDrawableFromAttr(context, R.attr.navigation_refresh));
holder.secondaryActionIcon.setImageResource(R.drawable.ic_refresh);
holder.secondaryActionButton.setVisibility(View.VISIBLE);
if (status.getFeedfileType() == Feed.FEEDFILETYPE_FEED) {

View File

@ -15,7 +15,6 @@ import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.service.download.DownloadRequest;
import de.danoeh.antennapod.core.service.download.DownloadStatus;
import de.danoeh.antennapod.core.service.download.Downloader;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.ui.common.CircularProgressBar;
public class DownloadlistAdapter extends BaseAdapter {
@ -64,7 +63,7 @@ public class DownloadlistAdapter extends BaseAdapter {
}
holder.title.setText(request.getTitle());
holder.secondaryActionIcon.setImageResource(ThemeUtils.getDrawableFromAttr(context, R.attr.navigation_cancel));
holder.secondaryActionIcon.setImageResource(R.drawable.ic_cancel);
holder.secondaryActionButton.setContentDescription(context.getString(R.string.cancel_download_label));
holder.secondaryActionButton.setTag(downloader);
holder.secondaryActionButton.setOnClickListener(butSecondaryListener);

View File

@ -3,10 +3,9 @@ package de.danoeh.antennapod.adapter;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.preference.PreferenceManager;
import android.util.TypedValue;
@ -34,7 +33,6 @@ import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import org.apache.commons.lang3.ArrayUtils;
import java.lang.ref.WeakReference;
@ -109,38 +107,23 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder>
return titles[index];
}
private Drawable getDrawable(String tag) {
Activity context = activity.get();
if (context == null) {
return null;
}
int icon;
private @DrawableRes int getDrawable(String tag) {
switch (tag) {
case QueueFragment.TAG:
icon = R.attr.stat_playlist;
break;
return R.drawable.ic_playlist;
case EpisodesFragment.TAG:
icon = R.attr.feed;
break;
return R.drawable.ic_feed;
case DownloadsFragment.TAG:
icon = R.attr.av_download;
break;
return R.drawable.ic_download;
case PlaybackHistoryFragment.TAG:
icon = R.attr.ic_history;
break;
return R.drawable.ic_history;
case SubscriptionFragment.TAG:
icon = R.attr.ic_folder;
break;
return R.drawable.ic_folder;
case AddFeedFragment.TAG:
icon = R.attr.content_new;
break;
return R.drawable.ic_add;
default:
return null;
return 0;
}
TypedArray ta = context.obtainStyledAttributes(new int[] { icon });
Drawable result = ta.getDrawable(0);
ta.recycle();
return result;
}
public List<String> getFragmentTags() {
@ -283,7 +266,7 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder>
}
}
holder.image.setImageDrawable(getDrawable(fragmentTags.get(position)));
holder.image.setImageResource(getDrawable(fragmentTags.get(position)));
}
private void bindSectionDivider(DividerHolder holder) {
@ -353,7 +336,7 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder>
holder.count.setVisibility(View.GONE);
}
Glide.with(context).clear(holder.image);
holder.image.setImageResource(ThemeUtils.getDrawableFromAttr(context, R.attr.ic_folder));
holder.image.setImageResource(R.drawable.ic_folder);
holder.failure.setVisibility(View.GONE);
}

View File

@ -24,7 +24,6 @@ import de.danoeh.antennapod.core.feed.LocalFeedUpdater;
import de.danoeh.antennapod.core.storage.NavDrawerData;
import de.danoeh.antennapod.fragment.FeedItemlistFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import jp.shts.android.library.TriangleLabelView;
/**
@ -115,7 +114,7 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
.load();
} else {
new CoverLoader(mainActivityRef.get())
.withResource(ThemeUtils.getDrawableFromAttr(mainActivityRef.get(), R.attr.ic_folder))
.withResource(R.drawable.ic_folder)
.withPlaceholderView(holder.feedTitle, true)
.withCoverView(holder.imageView)
.load();

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
@ -20,9 +20,9 @@ class AddToQueueActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.content_new;
return R.drawable.ic_add;
}
@Override

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import android.widget.Toast;
@ -25,9 +25,9 @@ public class CancelDownloadActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.navigation_cancel;
return R.drawable.ic_cancel;
}
@Override

View File

@ -2,7 +2,7 @@ package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import android.view.View;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItem;
@ -22,9 +22,9 @@ public class DeleteActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.ic_delete;
return R.drawable.ic_delete;
}
@Override

View File

@ -4,7 +4,7 @@ import android.content.Context;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
@ -33,9 +33,9 @@ public class DownloadActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.av_download;
return R.drawable.ic_download;
}
@Override

View File

@ -1,9 +1,8 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import android.content.res.TypedArray;
import android.widget.ImageView;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import android.view.View;
@ -23,7 +22,7 @@ public abstract class ItemActionButton {
@StringRes
public abstract int getLabel();
@AttrRes
@DrawableRes
public abstract int getDrawable();
public abstract void onClick(Context context);
@ -62,9 +61,6 @@ public abstract class ItemActionButton {
button.setVisibility(getVisibility());
button.setContentDescription(context.getString(getLabel()));
button.setOnClickListener((view) -> onClick(context));
TypedArray drawables = context.obtainStyledAttributes(new int[]{getDrawable()});
icon.setImageDrawable(drawables.getDrawable(0));
drawables.recycle();
icon.setImageResource(getDrawable());
}
}

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import android.view.View;
@ -22,9 +22,9 @@ public class MarkAsPlayedActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.navigation_accept;
return R.drawable.ic_check;
}
@Override

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItem;
@ -23,9 +23,9 @@ public class PauseActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.av_pause;
return R.drawable.ic_pause;
}
@Override

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItem;
@ -24,9 +24,9 @@ public class PlayActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.av_play;
return R.drawable.ic_play_24dp;
}
@Override

View File

@ -1,7 +1,7 @@
package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItem;
@ -23,9 +23,9 @@ public class PlayLocalActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.av_play;
return R.drawable.ic_play_24dp;
}
@Override

View File

@ -2,7 +2,7 @@ package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
@ -28,9 +28,9 @@ public class StreamActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.action_stream;
return R.drawable.ic_stream;
}
@Override

View File

@ -2,7 +2,7 @@ package de.danoeh.antennapod.adapter.actionbutton;
import android.content.Context;
import android.view.View;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItem;
@ -21,9 +21,9 @@ public class VisitWebsiteActionButton extends ItemActionButton {
}
@Override
@AttrRes
@DrawableRes
public int getDrawable() {
return R.attr.location_web_site;
return R.drawable.ic_web;
}
@Override

View File

@ -28,7 +28,6 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.util.FeedItemPermutors;
import de.danoeh.antennapod.core.util.LongList;
import de.danoeh.antennapod.core.util.SortOrder;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import java.util.ArrayList;
import java.util.Arrays;
@ -215,10 +214,10 @@ public class EpisodesApplyActionFragment extends Fragment implements Toolbar.OnM
public void refreshToolbarState() {
MenuItem selectAllItem = toolbar.getMenu().findItem(R.id.select_toggle);
if (checkedIds.size() == episodes.size()) {
selectAllItem.setIcon(ThemeUtils.getDrawableFromAttr(getContext(), R.attr.ic_select_none));
selectAllItem.setIcon(R.drawable.ic_select_none);
selectAllItem.setTitle(R.string.deselect_all_label);
} else {
selectAllItem.setIcon(ThemeUtils.getDrawableFromAttr(getContext(), R.attr.ic_select_all));
selectAllItem.setIcon(R.drawable.ic_select_all);
selectAllItem.setTitle(R.string.select_all_label);
}
}

View File

@ -81,7 +81,7 @@ public class TagSettingsDialog extends DialogFragment {
public TagSelectionAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Chip chip = new Chip(getContext());
chip.setCloseIconVisible(true);
chip.setCloseIconResource(R.drawable.ic_delete_black);
chip.setCloseIconResource(R.drawable.ic_delete);
return new TagSelectionAdapter.ViewHolder(chip);
}

View File

@ -98,7 +98,7 @@ public class VariableSpeedDialog extends DialogFragment {
addCurrentSpeedChip = root.findViewById(R.id.add_current_speed_chip);
addCurrentSpeedChip.setCloseIconVisible(true);
addCurrentSpeedChip.setCloseIconResource(R.drawable.ic_add_black);
addCurrentSpeedChip.setCloseIconResource(R.drawable.ic_add);
addCurrentSpeedChip.setOnCloseIconClickListener(v -> addCurrentSpeed());
addCurrentSpeedChip.setOnClickListener(v -> addCurrentSpeed());
@ -126,7 +126,7 @@ public class VariableSpeedDialog extends DialogFragment {
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Chip chip = new Chip(getContext());
chip.setCloseIconVisible(true);
chip.setCloseIconResource(R.drawable.ic_delete_black);
chip.setCloseIconResource(R.drawable.ic_delete);
return new ViewHolder(chip);
}

View File

@ -60,7 +60,7 @@ public class ChaptersFragment extends Fragment {
EmptyViewHandler emptyView = new EmptyViewHandler(getContext());
emptyView.attachToRecyclerView(recyclerView);
emptyView.setIcon(R.attr.ic_bookmark);
emptyView.setIcon(R.drawable.ic_bookmark);
emptyView.setTitle(R.string.no_chapters_head_label);
emptyView.setMessage(R.string.no_chapters_label);

View File

@ -146,7 +146,7 @@ public class CompletedDownloadsFragment extends Fragment {
private void addEmptyView() {
emptyView = new EmptyViewHandler(getActivity());
emptyView.setIcon(R.attr.av_download);
emptyView.setIcon(R.drawable.ic_download);
emptyView.setTitle(R.string.no_comp_downloads_head_label);
emptyView.setMessage(R.string.no_comp_downloads_label);
emptyView.attachToRecyclerView(recyclerView);

View File

@ -81,7 +81,7 @@ public class DownloadLogFragment extends ListFragment {
lv.setPadding(0, vertPadding, 0, vertPadding);
EmptyViewHandler emptyView = new EmptyViewHandler(getActivity());
emptyView.setIcon(R.attr.av_download);
emptyView.setIcon(R.drawable.ic_download);
emptyView.setTitle(R.string.no_log_downloads_head_label);
emptyView.setMessage(R.string.no_log_downloads_label);
emptyView.attachToListView(getListView());

View File

@ -216,7 +216,7 @@ public abstract class EpisodesListFragment extends Fragment {
emptyView = new EmptyViewHandler(getContext());
emptyView.attachToRecyclerView(recyclerView);
emptyView.setIcon(R.attr.feed);
emptyView.setIcon(R.drawable.ic_feed);
emptyView.setTitle(R.string.no_all_episodes_head_label);
emptyView.setMessage(R.string.no_all_episodes_label);

View File

@ -55,7 +55,7 @@ public class FavoriteEpisodesFragment extends EpisodesListFragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = super.onCreateView(inflater, container, savedInstanceState);
emptyView.setIcon(R.attr.ic_unfav);
emptyView.setIcon(R.drawable.ic_star);
emptyView.setTitle(R.string.no_fav_episodes_head_label);
emptyView.setMessage(R.string.no_fav_episodes_label);

View File

@ -13,6 +13,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.AppCompatDrawableManager;
import androidx.appcompat.widget.Toolbar;
import androidx.documentfile.provider.DocumentFile;
import androidx.fragment.app.Fragment;
@ -49,7 +50,6 @@ import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.StatisticsItem;
import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.fragment.preferences.StatisticsFragment;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
@ -137,9 +137,9 @@ public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClic
@Override
protected void doTint(Context themedContext) {
toolbar.getMenu().findItem(R.id.visit_website_item)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.location_web_site));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_web));
toolbar.getMenu().findItem(R.id.share_parent)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.ic_share));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_share));
}
};
iconTintManager.updateTint();

View File

@ -20,6 +20,7 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatDrawableManager;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
@ -56,7 +57,6 @@ import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.util.FeedItemPermutors;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil;
import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment;
import de.danoeh.antennapod.dialog.FilterDialog;
@ -176,13 +176,13 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
@Override
protected void doTint(Context themedContext) {
toolbar.getMenu().findItem(R.id.sort_items)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.ic_sort));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_sort));
toolbar.getMenu().findItem(R.id.filter_items)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.ic_filter));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_filter));
toolbar.getMenu().findItem(R.id.refresh_item)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.navigation_refresh));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_refresh));
toolbar.getMenu().findItem(R.id.action_search)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.action_search));
.setIcon(AppCompatDrawableManager.get().getDrawable(themedContext, R.drawable.ic_search));
}
};
iconTintManager.updateTint();

View File

@ -6,7 +6,6 @@ import android.os.Bundle;
import android.text.Layout;
import android.text.TextUtils;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
@ -357,15 +356,12 @@ public class ItemFragment extends Fragment {
butAction1Text.setText(actionButton1.getLabel());
butAction1Text.setTransformationMethod(null);
TypedValue typedValue = new TypedValue();
getContext().getTheme().resolveAttribute(actionButton1.getDrawable(), typedValue, true);
butAction1Icon.setImageResource(typedValue.resourceId);
butAction1Icon.setImageResource(actionButton1.getDrawable());
butAction1.setVisibility(actionButton1.getVisibility());
butAction2Text.setText(actionButton2.getLabel());
butAction2Text.setTransformationMethod(null);
getContext().getTheme().resolveAttribute(actionButton2.getDrawable(), typedValue, true);
butAction2Icon.setImageResource(typedValue.resourceId);
butAction2Icon.setImageResource(actionButton2.getDrawable());
butAction2.setVisibility(actionButton2.getVisibility());
}

View File

@ -81,7 +81,7 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
progressBar = root.findViewById(R.id.progLoading);
emptyView = new EmptyViewHandler(getActivity());
emptyView.setIcon(R.attr.ic_history);
emptyView.setIcon(R.drawable.ic_history);
emptyView.setTitle(R.string.no_history_head_label);
emptyView.setMessage(R.string.no_history_label);
emptyView.attachToRecyclerView(recyclerView);

View File

@ -537,7 +537,7 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
emptyView = new EmptyViewHandler(getContext());
emptyView.attachToRecyclerView(recyclerView);
emptyView.setIcon(R.attr.stat_playlist);
emptyView.setIcon(R.drawable.ic_playlist);
emptyView.setTitle(R.string.no_items_header_label);
emptyView.setMessage(R.string.no_items_label);

View File

@ -61,7 +61,7 @@ public class RunningDownloadsFragment extends ListFragment {
setListAdapter(adapter);
EmptyViewHandler emptyView = new EmptyViewHandler(getActivity());
emptyView.setIcon(R.attr.av_download);
emptyView.setIcon(R.drawable.ic_download);
emptyView.setTitle(R.string.no_run_downloads_head_label);
emptyView.setMessage(R.string.no_run_downloads_label);
emptyView.attachToListView(getListView());

View File

@ -133,7 +133,7 @@ public class SearchFragment extends Fragment {
emptyViewHandler = new EmptyViewHandler(getContext());
emptyViewHandler.attachToRecyclerView(recyclerView);
emptyViewHandler.setIcon(R.attr.action_search);
emptyViewHandler.setIcon(R.drawable.ic_search);
emptyViewHandler.setTitle(R.string.search_status_no_results);
EventBus.getDefault().register(this);

View File

@ -207,7 +207,7 @@ public class SubscriptionFragment extends Fragment implements Toolbar.OnMenuItem
private void setupEmptyView() {
emptyView = new EmptyViewHandler(getContext());
emptyView.setIcon(R.attr.ic_folder);
emptyView.setIcon(R.drawable.ic_folder);
emptyView.setTitle(R.string.no_subscriptions_head_label);
emptyView.setMessage(R.string.no_subscriptions_label);
emptyView.attachToListView(subscriptionGridLayout);

View File

@ -24,10 +24,10 @@ public class MenuItemUtils extends de.danoeh.antennapod.core.menuhandler.MenuIte
final MenuItem queueLock = menu.findItem(R.id.queue_lock);
if (UserPreferences.isQueueLocked()) {
queueLock.setTitle(de.danoeh.antennapod.R.string.unlock_queue);
queueLock.setIcon(ThemeUtils.getDrawableFromAttr(context, R.attr.ic_lock_open));
queueLock.setIcon(R.drawable.ic_lock_open);
} else {
queueLock.setTitle(de.danoeh.antennapod.R.string.lock_queue);
queueLock.setIcon(ThemeUtils.getDrawableFromAttr(context, R.attr.ic_lock_closed));
queueLock.setIcon(R.drawable.ic_lock_closed);
}
}

View File

@ -2,15 +2,12 @@ package de.danoeh.antennapod.view;
import android.content.Context;
import android.database.DataSetObserver;
import android.graphics.drawable.Drawable;
import android.view.Gravity;
import android.widget.AbsListView;
import android.widget.FrameLayout;
import android.widget.ListAdapter;
import androidx.annotation.AttrRes;
import androidx.core.content.ContextCompat;
import androidx.annotation.DrawableRes;
import androidx.recyclerview.widget.RecyclerView;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@ -25,7 +22,6 @@ public class EmptyViewHandler {
private ListAdapter listAdapter;
private RecyclerView.Adapter<?> recyclerAdapter;
private final Context context;
private final View emptyView;
private final TextView tvTitle;
private final TextView tvMessage;
@ -33,7 +29,6 @@ public class EmptyViewHandler {
public EmptyViewHandler(Context context) {
emptyView = View.inflate(context, R.layout.empty_view_layout, null);
this.context = context;
tvTitle = emptyView.findViewById(R.id.emptyViewTitle);
tvMessage = emptyView.findViewById(R.id.emptyViewMessage);
ivIcon = emptyView.findViewById(R.id.emptyViewIcon);
@ -51,11 +46,8 @@ public class EmptyViewHandler {
tvMessage.setText(message);
}
public void setIcon(@AttrRes int iconAttr) {
TypedValue typedValue = new TypedValue();
context.getTheme().resolveAttribute(iconAttr, typedValue, true);
Drawable d = ContextCompat.getDrawable(context, typedValue.resourceId);
ivIcon.setImageDrawable(d);
public void setIcon(@DrawableRes int icon) {
ivIcon.setImageResource(icon);
ivIcon.setVisibility(View.VISIBLE);
}

View File

@ -7,7 +7,6 @@ import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageButton;
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.common.ThemeUtils;
public class PlayButton extends AppCompatImageButton {
private boolean isShowPlay = true;
@ -34,10 +33,9 @@ public class PlayButton extends AppCompatImageButton {
this.isShowPlay = showPlay;
setContentDescription(getContext().getString(showPlay ? R.string.play_label : R.string.pause_label));
if (isVideoScreen) {
setImageResource(showPlay ? R.drawable.ic_av_play_white_80dp : R.drawable.ic_av_pause_white_80dp);
setImageResource(showPlay ? R.drawable.ic_play_video_white : R.drawable.ic_pause_video_white);
} else if (!isShown()) {
setImageResource(ThemeUtils.getDrawableFromAttr(getContext(),
showPlay ? R.attr.av_play : R.attr.av_pause));
setImageResource(showPlay ? R.drawable.ic_play_48dp : R.drawable.ic_pause);
} else if (showPlay) {
AnimatedVectorDrawableCompat drawable = AnimatedVectorDrawableCompat.create(
getContext(), R.drawable.ic_animate_pause_play);

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@ -15,7 +16,7 @@
android:id="@+id/widget_config_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/teaser"
app:srcCompat="@drawable/teaser"
android:scaleType="centerCrop" />
<include

View File

@ -34,7 +34,7 @@
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:contentDescription="@string/search_podcast_hint"
app:srcCompat="?attr/action_search"
app:srcCompat="@drawable/ic_search"
android:id="@+id/searchButton"
android:scaleType="center"/>
@ -90,8 +90,8 @@
android:id="@+id/addViaUrlButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/feed"
app:drawableLeftCompat="?attr/feed"
app:drawableStartCompat="@drawable/ic_feed"
app:drawableLeftCompat="@drawable/ic_feed"
style="@style/AddPodcastTextView"
android:text="@string/add_podcast_by_url"/>
@ -99,8 +99,8 @@
android:id="@+id/addLocalFolderButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/ic_folder"
app:drawableLeftCompat="?attr/ic_folder"
app:drawableStartCompat="@drawable/ic_folder"
app:drawableLeftCompat="@drawable/ic_folder"
style="@style/AddPodcastTextView"
android:text="@string/add_local_folder"/>
@ -108,8 +108,8 @@
android:id="@+id/searchItunesButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
app:drawableLeftCompat="?attr/action_search"
app:drawableStartCompat="@drawable/ic_search"
app:drawableLeftCompat="@drawable/ic_search"
style="@style/AddPodcastTextView"
android:text="@string/search_itunes_label"/>
@ -117,8 +117,8 @@
android:id="@+id/searchFyydButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
app:drawableLeftCompat="?attr/action_search"
app:drawableStartCompat="@drawable/ic_search"
app:drawableLeftCompat="@drawable/ic_search"
style="@style/AddPodcastTextView"
android:text="@string/search_fyyd_label"/>
@ -126,8 +126,8 @@
android:id="@+id/searchGPodderButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
app:drawableLeftCompat="?attr/action_search"
app:drawableStartCompat="@drawable/ic_search"
app:drawableLeftCompat="@drawable/ic_search"
style="@style/AddPodcastTextView"
android:text="@string/browse_gpoddernet_label"/>
@ -135,8 +135,8 @@
android:id="@+id/searchPodcastIndexButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
app:drawableLeftCompat="?attr/action_search"
app:drawableStartCompat="@drawable/ic_search"
app:drawableLeftCompat="@drawable/ic_search"
style="@style/AddPodcastTextView"
android:text="@string/search_podcastindex_label"/>
@ -144,8 +144,8 @@
android:id="@+id/opmlImportButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/av_download"
app:drawableLeftCompat="?attr/av_download"
app:drawableStartCompat="@drawable/ic_download"
app:drawableLeftCompat="@drawable/ic_download"
style="@style/AddPodcastTextView"
android:text="@string/opml_add_podcast_label"/>
</LinearLayout>

View File

@ -47,7 +47,7 @@
android:layout_width="match_parent"
android:layout_height="8dp"
android:layout_alignBottom="@id/pager"
android:src="@drawable/bg_gradient"
app:srcCompat="@drawable/bg_gradient"
app:tint="?android:attr/windowBackground"
android:importantForAccessibility="no"/>
@ -153,9 +153,9 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/pause_label"
app:srcCompat="?attr/av_play"
app:srcCompat="@drawable/ic_play_48dp"
android:scaleType="fitCenter"
tools:srcCompat="@drawable/ic_av_play_white_24dp"/>
tools:srcCompat="@drawable/ic_play_48dp"/>
<de.danoeh.antennapod.ui.common.CircularProgressBar
android:layout_width="@dimen/audioplayer_playercontrols_length_big"
@ -188,9 +188,9 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/rewind_label"
app:srcCompat="?attr/av_rewind"
app:srcCompat="@drawable/ic_fast_rewind"
android:scaleType="fitCenter"
tools:srcCompat="@drawable/ic_av_fast_rewind_white_48dp"/>
tools:srcCompat="@drawable/ic_fast_rewind"/>
<TextView
android:id="@+id/txtvRev"
@ -216,7 +216,7 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/playback_speed"
tools:srcCompat="@drawable/ic_playback_speed_white"
tools:srcCompat="@drawable/ic_playback_speed"
app:foregroundColor="?attr/action_icon_color"/>
<TextView
@ -245,9 +245,9 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/fast_forward_label"
app:srcCompat="?attr/av_fast_forward"
app:srcCompat="@drawable/ic_fast_forward"
android:scaleType="fitCenter"
tools:srcCompat="@drawable/ic_av_fast_forward_white_48dp"/>
tools:srcCompat="@drawable/ic_fast_forward"/>
<TextView
android:id="@+id/txtvFF"
@ -273,9 +273,9 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:scaleType="fitCenter"
app:srcCompat="?attr/av_skip"
app:srcCompat="@drawable/ic_skip_48dp"
android:contentDescription="@string/skip_episode_label"
tools:srcCompat="@drawable/ic_av_skip_white_48dp"/>
tools:srcCompat="@drawable/ic_skip_48dp"/>
</RelativeLayout>
</LinearLayout>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@ -32,7 +33,7 @@
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="?attr/content_new"
app:srcCompat="@drawable/ic_add"
android:contentDescription="@string/new_label"
android:id="@+id/newTagButton"/>
</LinearLayout>

View File

@ -14,7 +14,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="gone"
tools:src="@drawable/ic_feed_black"
tools:src="@drawable/ic_feed"
tools:visibility="visible"/>
<TextView

View File

@ -47,7 +47,7 @@
android:id="@+id/fabSD"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:sdMainFabClosedSrc="?attr/batch_edit_fab_icon"
app:sdMainFabClosedSrc="@drawable/ic_fab_edit"
app:sdOverlayLayout="@id/fabSDOverlay"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"

View File

@ -63,10 +63,10 @@
android:layout_height="match_parent"
android:contentDescription="@string/pause_label"
android:background="?attr/selectableItemBackground"
app:srcCompat="?attr/av_play"
app:srcCompat="@drawable/ic_play_48dp"
android:scaleType="fitCenter"
android:padding="8dp"
tools:src="@drawable/ic_av_play_white_48dp"/>
tools:src="@drawable/ic_play_48dp"/>
</LinearLayout>

View File

@ -126,7 +126,7 @@
android:layout_marginEnd="8dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
tools:src="@drawable/ic_settings_black" />
tools:src="@drawable/ic_settings" />
<TextView
android:textAppearance="@style/TextAppearance.AppCompat.Button"
@ -154,7 +154,7 @@
android:layout_marginEnd="8dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
tools:src="@drawable/ic_settings_black" />
tools:src="@drawable/ic_settings" />
<TextView
android:textAppearance="@style/TextAppearance.AppCompat.Button"

View File

@ -35,7 +35,7 @@
android:layout_height="match_parent"
android:importantForAccessibility="no"
android:scaleType="fitCenter"
android:src="?attr/dragview_background"
app:srcCompat="?attr/dragview_background"
android:paddingStart="0dp"
android:paddingLeft="0dp"
android:paddingEnd="4dp"
@ -114,24 +114,21 @@
<ImageView
android:layout_width="14sp"
android:layout_height="14sp"
app:srcCompat="?attr/type_video"
tools:srcCompat="@drawable/ic_videocam_black_24dp"
app:srcCompat="@drawable/ic_videocam"
android:contentDescription="@string/media_type_video_label"
android:id="@+id/ivIsVideo"/>
<ImageView
android:layout_width="14sp"
android:layout_height="14sp"
app:srcCompat="?attr/ic_unfav"
tools:srcCompat="@drawable/ic_star_black"
app:srcCompat="@drawable/ic_star"
android:contentDescription="@string/is_favorite_label"
android:id="@+id/isFavorite"/>
<ImageView
android:layout_width="14sp"
android:layout_height="14sp"
app:srcCompat="?attr/stat_playlist"
tools:srcCompat="@drawable/ic_playlist_black"
app:srcCompat="@drawable/ic_playlist"
android:contentDescription="@string/in_queue_label"
android:id="@+id/ivInPlaylist"/>

View File

@ -65,5 +65,5 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:contentDescription="@string/add_feed_label"
app:srcCompat="@drawable/ic_add_white"/>
app:srcCompat="@drawable/ic_add"/>
</RelativeLayout>

View File

@ -65,7 +65,7 @@
<ImageView
android:layout_width="14sp"
android:layout_height="14sp"
app:srcCompat="?attr/feed"/>
app:srcCompat="@drawable/ic_feed"/>
<TextView
android:id="@+id/txtvSubscribers"
style="@style/AntennaPod.TextView.ListItemSecondaryTitle"

View File

@ -2,6 +2,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -15,7 +16,7 @@
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:src="@drawable/gpodder_icon"/>
app:srcCompat="@drawable/gpodder_icon"/>
<TextView
android:id="@+id/createAccountButton"

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -9,7 +10,7 @@
android:id="@id/icon"
android:layout_width="64dp"
android:layout_height="64dp"
android:src="@drawable/gpodder_icon" />
app:srcCompat="@drawable/gpodder_icon" />
<TextView
android:id="@+id/txtvDescription"

View File

@ -1,6 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -18,7 +19,6 @@
android:focusable="true">
<ImageView
android:id="@+id/imgvCover"
android:layout_width="@dimen/thumbnail_length_navlist"
android:layout_height="@dimen/thumbnail_length_navlist"
android:layout_marginBottom="4dp"
@ -30,7 +30,7 @@
android:cropToPadding="true"
android:padding="8dp"
android:scaleType="centerCrop"
android:src="?attr/ic_settings"
app:srcCompat="@drawable/ic_settings"
tools:background="@android:color/holo_orange_dark"
tools:src="@android:drawable/sym_def_app_icon" />

View File

@ -14,7 +14,7 @@
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_margin="8dp"
app:srcCompat="?attr/storage" />
app:srcCompat="@drawable/ic_storage" />
<TextView
android:id="@+id/textView1"

View File

@ -39,7 +39,7 @@
android:layout_margin="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/rewind_label"
app:srcCompat="@drawable/ic_av_fast_rewind_white_80dp" />
app:srcCompat="@drawable/ic_fast_rewind_video_white" />
<de.danoeh.antennapod.view.PlayButton
android:id="@+id/butPlay"
@ -48,7 +48,7 @@
android:layout_margin="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/pause_label"
app:srcCompat="@drawable/ic_av_pause_white_80dp" />
app:srcCompat="@drawable/ic_pause_video_white" />
<ImageButton
android:id="@+id/butFF"
@ -57,7 +57,7 @@
android:layout_margin="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/fast_forward_label"
app:srcCompat="@drawable/ic_av_fast_forward_white_80dp" />
app:srcCompat="@drawable/ic_fast_forward_video_white" />
</LinearLayout>

View File

@ -5,14 +5,14 @@
android:id="@+id/episode_actions"
android:menuCategory="container"
android:title="@string/multi_select"
android:icon="?attr/checkbox_multiple"
android:icon="@drawable/ic_check_multiple"
android:visible="false"
app:showAsAction="ifRoom" />
<item
android:id="@+id/clear_logs_item"
android:menuCategory="container"
android:title="@string/clear_history_label"
android:icon="?attr/ic_delete"
android:icon="@drawable/ic_delete"
android:visible="false"
app:showAsAction="ifRoom" />
<item
@ -20,5 +20,5 @@
android:title="@string/refresh_label"
android:menuCategory="container"
app:showAsAction="ifRoom"
android:icon="?attr/navigation_refresh"/>
android:icon="@drawable/ic_refresh"/>
</menu>

View File

@ -5,7 +5,7 @@
<item
android:id="@+id/action_search"
android:icon="?attr/action_search"
android:icon="@drawable/ic_search"
custom:showAsAction="collapseActionView|always"
custom:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="@string/search_label"/>
@ -15,11 +15,11 @@
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="?attr/navigation_refresh"/>
android:icon="@drawable/ic_refresh"/>
<item
android:id="@+id/filter_items"
android:icon="?attr/ic_filter"
android:icon="@drawable/ic_filter"
android:menuCategory="container"
android:title="@string/filter"
android:visible="false"
@ -31,7 +31,7 @@
android:menuCategory="container"
custom:showAsAction="collapseActionView"
android:visible="false"
android:icon="?attr/navigation_accept"/>
android:icon="@drawable/ic_check"/>
<item
android:id="@+id/remove_all_new_flags_item"
@ -39,6 +39,6 @@
android:menuCategory="container"
custom:showAsAction="collapseActionView"
android:visible="false"
android:icon="?attr/navigation_accept"/>
android:icon="@drawable/ic_check"/>
</menu>

View File

@ -4,7 +4,7 @@
<item
android:id="@+id/sort"
android:icon="?attr/ic_sort"
android:icon="@drawable/ic_sort"
android:title="@string/sort"
app:showAsAction="always">
<menu>
@ -25,7 +25,7 @@
<item
android:id="@+id/select_options"
android:icon="?attr/ic_filter"
android:icon="@drawable/ic_filter"
android:title="@string/filter"
app:showAsAction="always">

View File

@ -6,29 +6,29 @@
visually it will be shown at the bottom of the list of actions.
-->
<item android:id="@+id/delete_batch"
android:icon="?attr/ic_delete"
android:icon="@drawable/ic_delete"
android:title="@string/delete_episode_label"
/>
<item android:id="@+id/download_batch"
android:icon="?attr/av_download"
android:icon="@drawable/ic_download"
android:title="@string/download_label"
/>
<item android:id="@+id/mark_unread_batch"
android:icon="?attr/navigation_cancel"
android:icon="@drawable/ic_cancel"
android:title="@string/mark_unread_label"
/>
<item
android:id="@+id/mark_read_batch"
android:icon="?attr/navigation_accept"
android:icon="@drawable/ic_check"
android:title="@string/mark_read_label"
/>
<item android:id="@+id/remove_from_queue_batch"
android:icon="?attr/content_remove_from_queue"
android:icon="@drawable/ic_remove"
android:title="@string/remove_from_queue_label"
/>
<item
android:id="@+id/add_to_queue_batch"
android:icon="?attr/content_new"
android:icon="@drawable/ic_add"
android:title="@string/add_to_queue_label"
/>
</menu>

View File

@ -3,7 +3,7 @@
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site"
android:icon="@drawable/ic_web"
custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/visit_website_label"
android:visible="true"/>
@ -11,7 +11,7 @@
android:id="@+id/share_parent"
custom:showAsAction="ifRoom"
android:title="@string/share_label_with_ellipses"
android:icon="?attr/ic_share"
android:icon="@drawable/ic_share"
android:visible="true">
<menu android:id="@+id/share_submenu">
<item

View File

@ -64,7 +64,7 @@
<item
android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site"
android:icon="@drawable/ic_web"
custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/visit_website_label">
</item>

View File

@ -4,21 +4,21 @@
<item
android:id="@+id/sort_items"
android:icon="?attr/ic_sort"
android:icon="@drawable/ic_sort"
android:menuCategory="container"
android:title="@string/sort"
custom:showAsAction="always">
</item>
<item
android:id="@+id/filter_items"
android:icon="?attr/ic_filter"
android:icon="@drawable/ic_filter"
android:menuCategory="container"
android:title="@string/filter"
custom:showAsAction="always">
</item>
<item
android:id="@+id/refresh_item"
android:icon="?attr/navigation_refresh"
android:icon="@drawable/ic_refresh"
android:menuCategory="container"
android:title="@string/refresh_label"
custom:showAsAction="always">
@ -32,7 +32,7 @@
<item
android:id="@+id/action_search"
android:icon="?attr/action_search"
android:icon="@drawable/ic_search"
custom:showAsAction="always|collapseActionView"
custom:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="@string/search_label"/>
@ -40,13 +40,13 @@
<item
android:id="@+id/episode_actions"
android:menuCategory="container"
android:icon="?attr/checkbox_multiple"
android:icon="@drawable/ic_check_multiple"
android:title="@string/multi_select"
custom:showAsAction="collapseActionView">
</item>
<item
android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site"
android:icon="@drawable/ic_web"
android:menuCategory="container"
custom:showAsAction="collapseActionView"
android:title="@string/visit_website_label"
@ -79,7 +79,7 @@
<item
android:id="@+id/remove_item"
android:icon="?attr/ic_delete"
android:icon="@drawable/ic_delete"
android:menuCategory="container"
android:title="@string/remove_feed_label"
android:visible="true"

View File

@ -4,40 +4,40 @@
<item
android:id="@+id/add_to_favorites_item"
android:icon="?attr/ic_fav"
android:icon="@drawable/ic_star_border"
android:title="@string/add_to_favorite_label"
custom:showAsAction="always">
</item>
<item
android:id="@+id/remove_from_favorites_item"
android:icon="?attr/ic_unfav"
android:icon="@drawable/ic_star"
android:title="@string/remove_from_favorite_label"
custom:showAsAction="always">
</item>
<item
android:id="@+id/disable_sleeptimer_item"
android:icon="?attr/ic_sleep_off"
android:icon="@drawable/ic_sleep_off"
custom:showAsAction="always"
android:title="@string/sleep_timer_label">
</item>
<item
android:id="@+id/set_sleeptimer_item"
android:icon="?attr/ic_sleep"
android:icon="@drawable/ic_sleep"
custom:showAsAction="always"
android:title="@string/set_sleeptimer_label">
</item>
<item
android:id="@+id/audio_controls"
android:icon="?attr/ic_sliders"
android:icon="@drawable/ic_sliders"
android:title="@string/audio_controls"
custom:showAsAction="always">
</item>
<item
android:id="@+id/open_feed_item"
android:icon="?attr/feed"
android:icon="@drawable/ic_feed"
custom:showAsAction="collapseActionView"
android:title="@string/open_podcast"
android:visible="false">
@ -45,7 +45,7 @@
<item
android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site"
android:icon="@drawable/ic_web"
custom:showAsAction="collapseActionView"
android:title="@string/visit_website_label"
android:visible="false">

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="?attr/action_search"
android:icon="@drawable/ic_search"
custom:showAsAction="collapseActionView|ifRoom"
custom:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="@string/search_label"/>

View File

@ -4,14 +4,14 @@
<item
android:id="@id/select_all_item"
android:icon="?attr/ic_select_all"
android:icon="@drawable/ic_select_all"
android:title="@string/select_all_label"
custom:showAsAction="ifRoom">
</item>
<item
android:id="@id/deselect_all_item"
android:icon="?attr/ic_select_none"
android:icon="@drawable/ic_select_none"
android:title="@string/deselect_all_label"
custom:showAsAction="ifRoom">
</item>

View File

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/clear_history_item"
android:icon="?attr/ic_delete"
android:icon="@drawable/ic_delete"
android:title="@string/clear_history_label"
app:showAsAction="ifRoom"/>
</menu>

View File

@ -14,11 +14,11 @@
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="?attr/navigation_refresh"/>
android:icon="@drawable/ic_refresh"/>
<item
android:id="@+id/action_search"
android:icon="?attr/action_search"
android:icon="@drawable/ic_search"
custom:showAsAction="collapseActionView|ifRoom"
custom:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="@string/search_label"/>
@ -114,7 +114,7 @@
android:id="@+id/clear_queue"
android:title="@string/clear_queue_label"
custom:showAsAction="collapseActionView"
android:icon="?attr/navigation_accept"/>
android:icon="@drawable/ic_check"/>
<item
android:id="@+id/episode_actions"

View File

@ -4,7 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="?attr/action_search"
android:icon="@drawable/ic_search"
app:showAsAction="collapseActionView|always"
app:actionViewClass="androidx.appcompat.widget.SearchView"
android:title="@string/search_label"/>

View File

@ -10,7 +10,7 @@
<item
android:id="@+id/statistics_mode"
android:icon="?attr/ic_filter"
android:icon="@drawable/ic_filter"
android:title="@string/statistics_mode"
custom:showAsAction="never">
</item>

View File

@ -7,7 +7,7 @@
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="?attr/navigation_refresh"/>
android:icon="@drawable/ic_refresh"/>
<item

View File

@ -5,7 +5,7 @@
<SwitchPreferenceCompat
android:key="keepUpdated"
android:icon="?attr/navigation_refresh"
android:icon="@drawable/ic_refresh"
android:title="@string/keep_updated"
android:summary="@string/keep_updated_summary"/>
@ -13,38 +13,38 @@
android:key="episodeNotification"
android:defaultValue="false"
android:dependency="keepUpdated"
android:icon="?attr/ic_notifications"
android:icon="@drawable/ic_notifications"
android:title="@string/episode_notification"
android:summary="@string/episode_notification_summary"/>
<Preference
android:key="authentication"
android:icon="?attr/ic_key"
android:icon="@drawable/ic_key"
android:title="@string/authentication_label"
android:summary="@string/authentication_descr"/>
<Preference
android:key="tags"
android:icon="?attr/ic_folder"
android:icon="@drawable/ic_folder"
android:title="@string/feed_folders_label"
android:summary="@string/feed_folders_summary"/>
<ListPreference
android:key="feedPlaybackSpeed"
android:icon="?attr/ic_settings_speed"
android:icon="@drawable/ic_playback_speed"
android:title="@string/playback_speed"
android:summary="@string/pref_feed_playback_speed_sum"/>
<Preference
android:key="feedAutoSkip"
android:icon="?attr/ic_settings_skip"
android:icon="@drawable/ic_skip_24dp"
android:summary="@string/pref_feed_skip_sum"
android:title="@string/pref_feed_skip" />
<ListPreference
android:entries="@array/spnAutoDeleteItems"
android:entryValues="@array/spnAutoDeleteValues"
android:icon="?attr/ic_delete"
android:icon="@drawable/ic_delete"
android:title="@string/auto_delete_label"
android:summary="@string/feed_auto_download_global"
android:key="autoDelete"/>
@ -52,7 +52,7 @@
<ListPreference
android:entries="@array/spnVolumeReductionItems"
android:entryValues="@array/spnVolumeReductionValues"
android:icon="?attr/ic_volume_adaption"
android:icon="@drawable/ic_volume_adaption"
android:summary="@string/feed_volume_reduction_summary"
android:title="@string/feed_volume_reduction"
android:defaultValue="off"

View File

@ -13,41 +13,41 @@
android:key="prefScreenInterface"
android:title="@string/user_interface_label"
android:summary="@string/user_interface_sum"
android:icon="?attr/ic_appearance" />
android:icon="@drawable/ic_appearance" />
<Preference
android:key="prefScreenPlayback"
android:title="@string/playback_pref"
android:summary="@string/playback_pref_sum"
android:icon="?attr/ic_settings_playback" />
android:icon="@drawable/ic_play_24dp" />
<Preference
android:key="prefScreenNetwork"
android:title="@string/network_pref"
android:summary="@string/network_pref_sum"
android:icon="?attr/ic_network" />
android:icon="@drawable/ic_network" />
<Preference
android:key="prefScreenGpodder"
android:title="@string/synchronization_pref"
android:summary="@string/synchronization_sum"
android:icon="?attr/ic_unfav" />
android:icon="@drawable/ic_star" />
<Preference
android:key="prefScreenStorage"
android:title="@string/storage_pref"
android:summary="@string/storage_sum"
android:icon="?attr/storage" />
android:icon="@drawable/ic_storage" />
<Preference
android:key="notifications"
android:title="@string/notification_pref_fragment"
android:icon="?attr/ic_notifications"/>
android:icon="@drawable/ic_notifications"/>
<Preference
android:key="statistics"
android:title="@string/statistics_label"
android:icon="?attr/statistics" />
android:icon="@drawable/ic_statistics" />
<PreferenceCategory
android:key="project"
@ -55,22 +55,22 @@
<Preference
android:key="prefDocumentation"
android:title="@string/documentation_support"
android:icon="?attr/ic_questionmark" />
android:icon="@drawable/ic_questionmark" />
<Preference
android:key="prefViewForum"
android:title="@string/visit_user_forum"
android:icon="?attr/ic_chat" />
android:icon="@drawable/ic_chat" />
<Preference
android:key="prefContribute"
android:title="@string/pref_contribute"
android:icon="?attr/ic_contribute" />
android:icon="@drawable/ic_contribute" />
<Preference
android:key="prefSendBugReport"
android:title="@string/bug_report_title"
android:icon="?attr/ic_bug" />
android:icon="@drawable/ic_bug" />
<Preference
android:key="prefAbout"
android:title="@string/about_pref"
android:icon="?attr/action_about" />
android:icon="@drawable/ic_info" />
</PreferenceCategory>
</PreferenceScreen>

View File

@ -7,21 +7,21 @@
<Preference
android:key="about_version"
android:title="@string/antennapod_version"
android:icon="?attr/ic_unfav"
android:icon="@drawable/ic_star"
android:summary="1.7.2 (asd8qs)"/>
<Preference
android:key="about_contributors"
android:icon="?attr/ic_settings"
android:icon="@drawable/ic_settings"
android:summary="@string/contributors_summary"
android:title="@string/contributors"/>
<Preference
android:key="about_privacy_policy"
android:icon="?attr/ic_questionmark"
android:icon="@drawable/ic_questionmark"
android:summary="www.antennapod.org/privacy"
android:title="@string/privacy_policy"/>
<Preference
android:key="about_licenses"
android:icon="?attr/action_about"
android:icon="@drawable/ic_info"
android:summary="@string/licenses_summary"
android:title="@string/licenses"/>

View File

@ -8,6 +8,8 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled false
vectorDrawables.useSupportLibrary true
vectorDrawables.generatedDensities = []
testApplicationId "de.danoeh.antennapod.core.tests"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@ -74,6 +76,7 @@ dependencies {
implementation project(':net:ssl')
implementation project(':ui:app-start-intent')
implementation project(':ui:common')
implementation project(':ui:png-icons')
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
implementation "androidx.appcompat:appcompat:$appcompatVersion"

7
core/lint.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="VectorPath">
<ignore path="res/drawable/ic_settings.xml" />
<ignore path="res/drawable/ic_settings_white.xml" />
</issue>
</lint>

View File

@ -205,7 +205,7 @@ public class DownloadServiceNotification {
.setContentText(context.getText(R.string.authentication_notification_msg))
.setStyle(new NotificationCompat.BigTextStyle().bigText(context.getText(R.string.authentication_notification_msg)
+ ": " + resourceTitle))
.setSmallIcon(R.drawable.ic_key_white)
.setSmallIcon(R.drawable.ic_notification_key)
.setAutoCancel(true)
.setContentIntent(ClientConfig.downloadServiceCallbacks.getAuthentificationNotificationContentIntent(context, downloadRequest));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

View File

@ -613,17 +613,17 @@ public class PlaybackService extends MediaBrowserServiceCompat {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
NotificationUtils.CHANNEL_ID_USER_ACTION)
.setSmallIcon(R.drawable.ic_stream_white)
.setSmallIcon(R.drawable.ic_notification_stream)
.setContentTitle(getString(R.string.confirm_mobile_streaming_notification_title))
.setContentText(getString(R.string.confirm_mobile_streaming_notification_message))
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(getString(R.string.confirm_mobile_streaming_notification_message)))
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setContentIntent(pendingIntentAllowThisTime)
.addAction(R.drawable.ic_stream_white,
.addAction(R.drawable.ic_notification_stream,
getString(R.string.confirm_mobile_streaming_button_once),
pendingIntentAllowThisTime)
.addAction(R.drawable.ic_stream_white,
.addAction(R.drawable.ic_notification_stream,
getString(R.string.confirm_mobile_streaming_button_always),
pendingIntentAlwaysAllow)
.setAutoCancel(true);

View File

@ -122,14 +122,14 @@ public abstract class WidgetUpdater {
}
if (widgetState.status == PlayerStatus.PLAYING) {
views.setImageViewResource(R.id.butPlay, R.drawable.ic_av_pause_white_48dp);
views.setImageViewResource(R.id.butPlay, R.drawable.ic_pause);
views.setContentDescription(R.id.butPlay, context.getString(R.string.pause_label));
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_av_pause_white_48dp);
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_pause);
views.setContentDescription(R.id.butPlayExtended, context.getString(R.string.pause_label));
} else {
views.setImageViewResource(R.id.butPlay, R.drawable.ic_av_play_white_48dp);
views.setImageViewResource(R.id.butPlay, R.drawable.ic_play_48dp);
views.setContentDescription(R.id.butPlay, context.getString(R.string.play_label));
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_av_play_white_48dp);
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_play_48dp);
views.setContentDescription(R.id.butPlayExtended, context.getString(R.string.play_label));
}
views.setOnClickPendingIntent(R.id.butPlay,
@ -152,8 +152,8 @@ public abstract class WidgetUpdater {
views.setViewVisibility(R.id.txtvTitle, View.GONE);
views.setViewVisibility(R.id.txtNoPlaying, View.VISIBLE);
views.setImageViewResource(R.id.imgvCover, R.mipmap.ic_launcher_round);
views.setImageViewResource(R.id.butPlay, R.drawable.ic_av_play_white_48dp);
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_av_play_white_48dp);
views.setImageViewResource(R.id.butPlay, R.drawable.ic_play_48dp);
views.setImageViewResource(R.id.butPlayExtended, R.drawable.ic_play_48dp);
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/accent_light" android:state_checked="true" />
<item android:drawable="@color/accent_light" android:state_checked="true"/>
<item android:drawable="@color/dialog_filter_inactive_light" />
</selector>

View File

@ -1,5 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
<path android:fillColor="?attr/action_icon_color" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?attr/action_icon_color" android:pathData="M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FFFFFFFF" android:pathData="M4,18l8.5,-6L4,6v12zM13,6v12l8.5,-6L13,6z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FFFFFFFF" android:pathData="M6,19h4L10,5L6,5v14zM14,5v14h4L18,5h-4z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FFFFFFFF" android:pathData="M8,5v14l11,-7z"/>
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="24"
android:viewportHeight="24"
android:width="48dp"
android:height="48dp">
<path
android:pathData="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6 -6 6s-6 -2.69 -6 -6H4c0 4.42 3.58 8 8 8s8 -3.58 8 -8S16.42 5 12 5z"
android:fillColor="#FFFFFF" />
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FF000000" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FF000000" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FFFFFFFF" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/>
</vector>

View File

@ -1,7 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path android:fillColor="#FFFFFFFF" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/>
</vector>

View File

@ -1,5 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M17,3H7c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3V5c0,-1.1 -0.9,-2 -2,-2z"/>
<path android:fillColor="?attr/action_icon_color" android:pathData="M17,3H7c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3V5c0,-1.1 -0.9,-2 -2,-2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?attr/action_icon_color" android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?attr/action_icon_color" android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47 10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41 8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47 10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41 8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47 10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41 8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?attr/action_icon_color" android:pathData="M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z"/>
</vector>

View File

@ -1,5 +0,0 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z"/>
</vector>

View File

@ -1,5 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FFFFFFFF" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
<path android:fillColor="?attr/action_icon_color" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?attr/action_icon_color" android:pathData="M20,16V10H22V16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H16V4H8V16H20M10.91,7.08L14,10.17L20.59,3.58L22,5L14,13L9.5,8.5L10.91,7.08M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z"/>
</vector>

Some files were not shown because too many files have changed in this diff Show More