From 2cd856e5745c75d0f8213a960a9dd6a0ef1e85d1 Mon Sep 17 00:00:00 2001 From: Vologhat <47892605+Vologhat@users.noreply.github.com> Date: Thu, 25 Aug 2022 18:34:33 +0300 Subject: [PATCH] made hook and added images for theme toggle animation --- .../lite/hooks/DayNightButtonHook.java | 17 ++++ .../lite/ui/views/VTLCheckableButton.java | 95 ++++++++++++++++++ .../lite/ui/vkui/VKUIActionPopup.java | 70 +++++++++++++ .../ru/vtosters/lite/ui/vkui/VKUIButton.java | 55 ++++++++++ .../vtosters/lite/ui/vkui/VKUICheckBox.java | 24 +++++ .../vtosters/lite/ui/vkui/VKUIEditText.java | 77 ++++++++++++++ .../lite/ui/vkui/VKUIRadioCheckbox.java | 18 ++++ .../vtosters/lite/ui/vkui/VKUISnackbar.java | 83 +++++++++++++++ .../vtosters/lite/ui/vkui/VKUITextView.java | 38 +++++++ .../ru/vtosters/lite/ui/vkui/VKUiSwitch.java | 23 +++++ .../vk_icon_moon_outline_28.xml | 13 +++ .../vk_icon_sun_outline_28.xml | 29 ++++++ .../drawable-hdpi/vk_icon_moon_outline_28.png | Bin 0 -> 1051 bytes .../drawable-hdpi/vk_icon_sun_outline_28.png | Bin 0 -> 578 bytes .../drawable-ldpi/vk_icon_moon_outline_28.png | Bin 0 -> 549 bytes .../drawable-ldpi/vk_icon_sun_outline_28.png | Bin 0 -> 356 bytes .../drawable-mdpi/vk_icon_moon_outline_28.png | Bin 0 -> 727 bytes .../drawable-mdpi/vk_icon_sun_outline_28.png | Bin 0 -> 369 bytes .../vk_icon_moon_outline_28.png | Bin 0 -> 1300 bytes .../drawable-xhdpi/vk_icon_sun_outline_28.png | Bin 0 -> 732 bytes .../vk_icon_moon_outline_28.png | Bin 0 -> 1813 bytes .../vk_icon_sun_outline_28.png | Bin 0 -> 1051 bytes .../vk_icon_moon_outline_28.png | Bin 0 -> 2264 bytes .../vk_icon_sun_outline_28.png | Bin 0 -> 1349 bytes .../$vk_icon_animated_moon_to_sun__0.xml | 76 ++++++++++++++ .../$vk_icon_animated_moon_to_sun__1.xml | 9 ++ .../$vk_icon_animated_moon_to_sun__2.xml | 9 ++ .../$vk_icon_animated_moon_to_sun__3.xml | 32 ++++++ .../$vk_icon_animated_moon_to_sun__4.xml | 32 ++++++ .../$vk_icon_animated_moon_to_sun__5.xml | 32 ++++++ .../$vk_icon_animated_moon_to_sun__6.xml | 32 ++++++ .../$vk_icon_animated_moon_to_sun__7.xml | 32 ++++++ .../$vk_icon_animated_moon_to_sun__8.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__0.xml | 63 ++++++++++++ .../$vk_icon_animated_sun_to_moon__1.xml | 9 ++ .../$vk_icon_animated_sun_to_moon__2.xml | 9 ++ .../$vk_icon_animated_sun_to_moon__3.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__4.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__5.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__6.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__7.xml | 32 ++++++ .../$vk_icon_animated_sun_to_moon__8.xml | 32 ++++++ .../drawable/vk_icon_animated_moon_to_sun.xml | 29 ++++++ .../drawable/vk_icon_animated_sun_to_moon.xml | 29 ++++++ smali/res/drawable/vk_icon_switch_theme.xml | 19 ++++ smali/res/values/public.xml | 8 ++ 46 files changed, 1186 insertions(+) create mode 100644 app/src/main/java/ru/vtosters/lite/hooks/DayNightButtonHook.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/views/VTLCheckableButton.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIActionPopup.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIButton.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUICheckBox.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIEditText.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIRadioCheckbox.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUISnackbar.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUITextView.java create mode 100644 app/src/main/java/ru/vtosters/lite/ui/vkui/VKUiSwitch.java create mode 100644 smali/res/drawable-anydpi-v24/vk_icon_moon_outline_28.xml create mode 100644 smali/res/drawable-anydpi-v24/vk_icon_sun_outline_28.xml create mode 100644 smali/res/drawable-hdpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-hdpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable-ldpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-ldpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable-mdpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-mdpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable-xhdpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-xhdpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable-xxhdpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-xxhdpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable-xxxhdpi/vk_icon_moon_outline_28.png create mode 100644 smali/res/drawable-xxxhdpi/vk_icon_sun_outline_28.png create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__0.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__1.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__2.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__3.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__4.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__5.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__6.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__7.xml create mode 100644 smali/res/drawable/$vk_icon_animated_moon_to_sun__8.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__0.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__1.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__2.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__3.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__4.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__5.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__6.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__7.xml create mode 100644 smali/res/drawable/$vk_icon_animated_sun_to_moon__8.xml create mode 100644 smali/res/drawable/vk_icon_animated_moon_to_sun.xml create mode 100644 smali/res/drawable/vk_icon_animated_sun_to_moon.xml create mode 100644 smali/res/drawable/vk_icon_switch_theme.xml diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DayNightButtonHook.java b/app/src/main/java/ru/vtosters/lite/hooks/DayNightButtonHook.java new file mode 100644 index 000000000..e3dcf0bb4 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/hooks/DayNightButtonHook.java @@ -0,0 +1,17 @@ +package ru.vtosters.lite.hooks; + +import com.vk.extensions.ViewExtKt; +import com.vk.navigation.right.RightMenuPresenter; + +import ru.vtosters.lite.ui.views.VTLCheckableButton; + +public class DayNightButtonHook { + + public static void injectOnClick(VTLCheckableButton button, RightMenuPresenter presenter) { + button.postOnAnimationDelayed(() -> { + var rect = ViewExtKt.e(button); + presenter.a(new float[] { rect.centerX(), rect.centerY() }); + }, 550); // minimal delay for fix toggle animation + button.toggle(); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/views/VTLCheckableButton.java b/app/src/main/java/ru/vtosters/lite/ui/views/VTLCheckableButton.java new file mode 100644 index 000000000..703c55ddb --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/views/VTLCheckableButton.java @@ -0,0 +1,95 @@ +package ru.vtosters.lite.ui.views; + +import android.content.Context; +import android.os.Parcel; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.view.View; +import android.widget.Checkable; + +import androidx.appcompat.widget.AppCompatImageButton; + +public class VTLCheckableButton extends AppCompatImageButton implements Checkable { + + private boolean mIsChecked; + + public VTLCheckableButton(Context context) { + super(context); + } + + public VTLCheckableButton(Context context, AttributeSet attributeSet) { + super(context, attributeSet); + } + + public VTLCheckableButton(Context context, AttributeSet attributeSet, int i) { + super(context, attributeSet, i); + } + + @Override + public Parcelable onSaveInstanceState() { + var state = new CustomState(super.onSaveInstanceState()); + state.setChecked(mIsChecked); + return state; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + if (state instanceof CustomState) { + var customState = ((CustomState) state); + super.onRestoreInstanceState(customState.getSuperState()); + mIsChecked = customState.isChecked(); + return; + } + super.onRestoreInstanceState(state); + } + + @Override + public boolean isChecked() { + return this.mIsChecked; + } + + @Override + public void setChecked(boolean checked) { + mIsChecked = checked; + refreshDrawableState(); + } + + @Override + public int[] onCreateDrawableState(int extraSpace) { + return mIsChecked + ? View.mergeDrawableStates(super.onCreateDrawableState(extraSpace + 1), new int[] { android.R.attr.state_checked }) + : super.onCreateDrawableState(extraSpace); + } + + @Override + public void toggle() { + setChecked(!mIsChecked); + } + + static class CustomState extends View.BaseSavedState { + private boolean checked; + + public CustomState(Parcelable source) { + super(source); + } + + public CustomState(Parcel source) { + super(source); + checked = source.readInt() != 0; + } + + public boolean isChecked() { + return checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + super.writeToParcel(out, flags); + out.writeInt(checked ? 1 : 0); + } + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIActionPopup.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIActionPopup.java new file mode 100644 index 000000000..49df8ebaa --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIActionPopup.java @@ -0,0 +1,70 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.view.View; + +import androidx.annotation.ColorRes; +import androidx.annotation.Nullable; +import androidx.annotation.Px; +import androidx.recyclerview.widget.RecyclerView; + +import com.vk.core.dialogs.actionspopup.ActionsPopup; +import com.vk.core.dialogs.adapter.ModalAdapter; + +public class VKUIActionPopup { + + private final ActionsPopup.b mLocalBuilder; + + public VKUIActionPopup(Context context, View anchorView, boolean anchor, @ColorRes int color) { + this.mLocalBuilder = new ActionsPopup.b(anchorView, anchor, color).a(context); + } + + public VKUIActionPopup setItem(String title, @Nullable Drawable icon, boolean z, onClickListener clickListener) { + mLocalBuilder.a(title, icon, z, () -> { + clickListener.onClick(); + return null; + }); + return this; + } + + public VKUIActionPopup setItem(String title, @Nullable Drawable icon, onClickListener clickListener) { + return setItem(title, icon, false, clickListener); + } + + public VKUIActionPopup setItem(String title, onClickListener clickListener) { + return setItem(title, null, false, clickListener); + } + + public VKUIActionPopup setActionCheckIcon(Drawable actionCheckItem) { + mLocalBuilder.a(actionCheckItem); + return this; + } + + public VKUIActionPopup setMaxWidth(@Px int maxWidth) { + mLocalBuilder.a(Integer.valueOf(maxWidth)); + return this; + } + + public VKUIActionPopup setAdapter(ModalAdapter adapter) { + mLocalBuilder.a((ModalAdapter) adapter); + return this; + } + + public VKUIActionPopup setAdapter(RecyclerView.Adapter adapter) { + mLocalBuilder.a(adapter); + return this; + } + + public ActionsPopup create() { + return mLocalBuilder.a(); + } + + public ActionsPopup create(boolean cancel) { + return mLocalBuilder.a(cancel); + } + + public interface onClickListener { + void onClick(); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIButton.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIButton.java new file mode 100644 index 000000000..0bfae843d --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIButton.java @@ -0,0 +1,55 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ContextThemeWrapper; +import android.widget.TextView; + +import androidx.annotation.Nullable; + +import com.vtosters.lite.R; + +public class VKUIButton extends TextView /*Yes, yes, it's TextView*/ { + + public static final int STYLE_PRIMARY = R.style.VKUIButton_Primary; + public static final int STYLE_PRIMARY_ROUNDED = R.style.VKUIButton_Primary_Rounded; + public static final int STYLE_PRIMARY_SMALL = R.style.VKUIButton_Primary_Small; + public static final int STYLE_PRIMARY_SMALL_FLAT = R.style.VKUIButton_Primary_Small_Flat; + public static final int STYLE_PRIMARY_MEDIUM = R.style.VKUIButton_Primary_Medium; + public static final int STYLE_PRIMARY_BIG = R.style.VKUIButton_Primary_Big; + public static final int STYLE_SECONDARY = R.style.VKUIButton_Secondary; + public static final int STYLE_SECONDARY_ROUNDED = R.style.VKUIButton_Secondary_Rounded; + public static final int STYLE_SECONDARY_SMALL = R.style.VKUIButton_Secondary_Small; + public static final int STYLE_SECONDARY_SMALL_FLAT = R.style.VKUIButton_Secondary_Small_Flat; + public static final int STYLE_SECONDARY_MEDIUM = R.style.VKUIButton_Secondary_Medium; + public static final int STYLE_SECONDARY_BIG = R.style.VKUIButton_Secondary_Big; + public static final int STYLE_MUTED = R.style.VKUIButton_Muted; + public static final int STYLE_MUTED_ROUNDED = R.style.VKUIButton_Muted_Rounded; + public static final int STYLE_TERTIARY = R.style.VKUIButton_Tertiary; + public static final int STYLE_TERTIARY_ROUNDED = R.style.VKUIButton_Tertiary_Rounded; + public static final int STYLE_OUTLINE = R.style.VKUIButton_Outline; + public static final int STYLE_OUTLINE_WHITE = R.style.VKUIButton_Outline_White; + public static final int STYLE_GREEN = R.style.VKUIButton_Green; + public static final int STYLE_COMMERCE = STYLE_GREEN; + public static final int STYLE_FLAT = R.style.VKUIButton_Flat; + public static final int STYLE_WHITE = R.style.VKUIButton_White; + public static final int STYLE_MEDIA_OVERLAY = R.style.VKUIButton_MediaOverlay; + public static final int STYLE_SELECTABLE = R.style.VKUIButton_Selectable; + public static final int STYLE_SELECTABLE_FLAT = R.style.VKUIButton_Selectable_Flat; + + public VKUIButton(Context context) { + this(context, STYLE_PRIMARY); + } + + public VKUIButton(Context context, int style) { + super(new ContextThemeWrapper(context, style)); + } + + public VKUIButton(Context context, @Nullable AttributeSet attrs) { + super(new ContextThemeWrapper(context, STYLE_PRIMARY), attrs); + } + + public VKUIButton(Context context, @Nullable AttributeSet attrs, int style) { + super(new ContextThemeWrapper(context, style), attrs); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUICheckBox.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUICheckBox.java new file mode 100644 index 000000000..7d39307c9 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUICheckBox.java @@ -0,0 +1,24 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.CheckBox; + +public class VKUICheckBox extends CheckBox { + + public VKUICheckBox(Context context) { + super(context); + } + + public VKUICheckBox(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public VKUICheckBox(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public VKUICheckBox(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIEditText.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIEditText.java new file mode 100644 index 000000000..19fb95822 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIEditText.java @@ -0,0 +1,77 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.widget.EditText; + +import androidx.annotation.Nullable; + +import com.vk.core.drawable.VkUiDrawableHelper; +import com.vk.core.ui.themes.VKThemeHelper; +import com.vtosters.lite.R; + +import ru.vtosters.lite.res.VTLColors; + +public class VKUIEditText extends EditText { + + public VKUIEditText(Context context) { + super(context); + init(); + } + + public VKUIEditText(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public VKUIEditText(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + public VKUIEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + var fieldBackground = VKThemeHelper.d(R.attr.field_background); + var drawable = VkUiDrawableHelper.c.a(getContext(), fieldBackground, fieldBackground, VTLColors.getAccentColor(), fieldBackground); + setBackground(drawable); + } + + @Override + public final void setBackground(Drawable background) { + super.setBackground(background); + } + + @Override + public final void setBackgroundColor(int color) { + } + + @Override + public final void setBackgroundResource(int resid) { + } + + @Override + public void setCursorVisible(boolean visible) { + super.setCursorVisible(visible); + } + + @Nullable + @Override + public Drawable getTextCursorDrawable() { + return super.getTextCursorDrawable(); + } + + @Override + public void setTextCursorDrawable(int textCursorDrawable) { + super.setTextCursorDrawable(textCursorDrawable); + } + + @Override + public void setTextCursorDrawable(@Nullable Drawable textCursorDrawable) { + super.setTextCursorDrawable(textCursorDrawable); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIRadioCheckbox.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIRadioCheckbox.java new file mode 100644 index 000000000..4cc7fc31c --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUIRadioCheckbox.java @@ -0,0 +1,18 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ContextThemeWrapper; + +import androidx.appcompat.widget.AppCompatRadioButton; + +public class VKUIRadioCheckbox extends AppCompatRadioButton { + + public VKUIRadioCheckbox(Context context) { + super(new ContextThemeWrapper(context, android.R.style.Widget_CompoundButton_RadioButton)); + } + + public VKUIRadioCheckbox(Context context, AttributeSet attributeSet) { + super(new ContextThemeWrapper(context, android.R.style.Widget_CompoundButton_RadioButton), attributeSet); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUISnackbar.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUISnackbar.java new file mode 100644 index 000000000..3ae8297a7 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUISnackbar.java @@ -0,0 +1,83 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.view.View; +import android.view.Window; + +import androidx.annotation.DrawableRes; +import androidx.annotation.StringRes; +import androidx.fragment.app.Fragment; + +import com.vk.core.dialogs.snackbar.VkSnackbar; + +public class VKUISnackbar { + private VkSnackbar.a mLocalBuilder; + + public VKUISnackbar(Context context, boolean darkMode) { + this.mLocalBuilder = new VkSnackbar.a(context, darkMode); + } + + public VKUISnackbar setIcon(Drawable icon) { + mLocalBuilder.a(icon); + return this; + } + + public VKUISnackbar setIcon(@DrawableRes int iconId) { + mLocalBuilder.b(iconId); + return this; + } + + public VKUISnackbar setMessage(String message) { + mLocalBuilder.a((CharSequence) message); + return this; + } + + public VKUISnackbar setMessage(@StringRes int resId) { + mLocalBuilder.a(resId); + return this; + } + + public VKUISnackbar setShowTime(long time) { + mLocalBuilder.a(time); + return this; + } + + public VKUISnackbar setView(View anchorView) { + mLocalBuilder.a(anchorView); + return this; + } + + public VKUISnackbar setFragment(Fragment fragment) { + mLocalBuilder.a(fragment); + return this; + } + + public VKUISnackbar setActionButton(String text, OnClickListener clickListener) { + mLocalBuilder.a(text, vkSnackbar -> { + clickListener.onClick(vkSnackbar); + return null; + }); + return this; + } + + public VKUISnackbar setActionButton(@StringRes int textId, OnClickListener clickListener) { + mLocalBuilder.a(textId, vkSnackbar -> { + clickListener.onClick(vkSnackbar); + return null; + }); + return this; + } + + public VkSnackbar create() { + return mLocalBuilder.d(); + } + + public VkSnackbar create(Window window) { + return mLocalBuilder.a(window); + } + + public interface OnClickListener { + void onClick(VkSnackbar snackbar); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUITextView.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUITextView.java new file mode 100644 index 000000000..c2dcee3e3 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUITextView.java @@ -0,0 +1,38 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.ContextThemeWrapper; +import android.widget.TextView; + +import androidx.annotation.Nullable; + +import com.vtosters.lite.R; + +public class VKUITextView extends TextView { + + public static final int STYLE_TITLE_1 = R.style.VKUIText_Title1; + public static final int STYLE_TITLE_2 = R.style.VKUIText_Title2; + public static final int STYLE_HEADLINE = R.style.VKUIText_Headline; + public static final int STYLE_DEFAULT = R.style.VKUIText_Text; + public static final int STYLE_SUBHEAD_1 = R.style.VKUIText_Subhead1; + public static final int STYLE_SUBHEAD_2 = R.style.VKUIText_Subhead2; + public static final int STYLE_CAPTION_1 = R.style.VKUIText_Caption1; + public static final int STYLE_CAPTION_2 = R.style.VKUIText_Caption2; + + public VKUITextView(Context context) { + this(context, STYLE_DEFAULT); + } + + public VKUITextView(Context context, int style) { + super(new ContextThemeWrapper(context, style)); + } + + public VKUITextView(Context context, @Nullable AttributeSet attrs) { + super(new ContextThemeWrapper(context, STYLE_DEFAULT), attrs); + } + + public VKUITextView(Context context, @Nullable AttributeSet attrs, int style) { + super(new ContextThemeWrapper(context, style), attrs); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUiSwitch.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUiSwitch.java new file mode 100644 index 000000000..1e1fb3ec6 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/VKUiSwitch.java @@ -0,0 +1,23 @@ +package ru.vtosters.lite.ui.vkui; + +import android.content.Context; +import android.text.TextUtils; + +import androidx.appcompat.widget.SwitchCompat; + +import ru.vtosters.lite.utils.AndroidUtils; + +public class VKUiSwitch extends SwitchCompat { + + public VKUiSwitch(Context context) { + super(context); + setEllipsize(TextUtils.TruncateAt.END); + setPadding(AndroidUtils.dp2px(8), AndroidUtils.dp2px(8), AndroidUtils.dp2px(8), AndroidUtils.dp2px(8)); + setTextSize(16.0f); + } + + @Override + public final void setEllipsize(TextUtils.TruncateAt where) { + super.setEllipsize(where); + } +} diff --git a/smali/res/drawable-anydpi-v24/vk_icon_moon_outline_28.xml b/smali/res/drawable-anydpi-v24/vk_icon_moon_outline_28.xml new file mode 100644 index 000000000..be2a673d5 --- /dev/null +++ b/smali/res/drawable-anydpi-v24/vk_icon_moon_outline_28.xml @@ -0,0 +1,13 @@ + + + + diff --git a/smali/res/drawable-anydpi-v24/vk_icon_sun_outline_28.xml b/smali/res/drawable-anydpi-v24/vk_icon_sun_outline_28.xml new file mode 100644 index 000000000..c62195d6d --- /dev/null +++ b/smali/res/drawable-anydpi-v24/vk_icon_sun_outline_28.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/smali/res/drawable-hdpi/vk_icon_moon_outline_28.png b/smali/res/drawable-hdpi/vk_icon_moon_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..f57d481a09da3b23c51e7688dc61b348e6028a3c GIT binary patch literal 1051 zcmeAS@N?(olHy`uVBq!ia0vp^S|H593?x6vT4pjZF!l%dgt!8^qhRoa!2cP|3xKX^ zDGBlmW)M|!+5Ydhr^1fv@Q$TUH zRce8caBo0@r(L^R|FT&Nj|%0sZj=7%bZ)_2uD1=-w{H^OwdO+Ji=9*B3cg1z@cVG@ zrQHjEL-$&Pg5~V-2eXUIINA=M^H{bfd)8r%9@jmEiFad#H(vC7DLU6$$kXnLX_X*pq|gXG(*b@v)iRrC8@Tel(b^}DyH z=kdLB-(NFTCQPR7#`gC@zXccXulKUqAhB-!^9^cWnq-dNI`~n4t&!^fX!aOe^?l1G z6j!BP;{I36Bevs&dH(UMhh`egh<&?Z-=52pr`Ok5*Z+@I)!;w0j`59KXBhXEJZDe> N_jL7hS?83{1OR)bDp&vj literal 0 HcmV?d00001 diff --git a/smali/res/drawable-hdpi/vk_icon_sun_outline_28.png b/smali/res/drawable-hdpi/vk_icon_sun_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..5b61e27fc363a11bd8dbe3f39a3f486123958a53 GIT binary patch literal 578 zcmeAS@N?(olHy`uVBq!ia0vp^S|H593?x6vT4n;N`2jv5u0VP)gYA>;T!8K~DGBlm zW?+i0uT;6MU9QOX=0__J>(h8fv)(gL^pADQY>L@q{EWMHtKoB9$%08TK6BO7 zGVhxr#ZcYI=b*53()q;>>Iv#ggMOtqzTv)99$?C}V9Si8s67$axt{2EAC3MHT(o}S z8rDS{&9(R4PkybI{U$la$WZU*=E6XEr{0U#EDWTMZ)nSik(3g@sD5|7)cLk!$tn}$ X+42l?-rc{?4N3`~u6{1-oD!M8RGD#bkzEJtGjcNYVMW4mmIKE5@aDIvnnA_k9qGmBVp;~um9cu z%ir-wXWdqz>jFPbM6=YrKYd-y81aX-paf{(UQZXt5Q)oE&!-DF8St<@*u|bScZCKk zyH*!B`@6sY{_j_5nkQ!a{!IImPcgHXwfyNhAkN(;@b7?!NXJjZK9`^m$zDE}eXgzF zS<@)udTMcqmT*wxnQT#0Cy`~JRxNz@gl*QGZ40b--hEk=r9Q&#_HaE>=Vr-8GmhP>5r=};re0%1bIBo9W;LG3JKNZT> s-#)xeVvfb!;6L$tv#)K{n)v@Q8~aq@ya^M%8bFcl>FVdQ&MBb@04h0?#{d8T literal 0 HcmV?d00001 diff --git a/smali/res/drawable-ldpi/vk_icon_sun_outline_28.png b/smali/res/drawable-ldpi/vk_icon_sun_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb46ee9517e670c39ad307c345d5fdf7bad4056 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{3?%2B3|#`GG6Q@m*|HKKZ7bp4j)V^4<*?oENBL5f;7Zt&TF#NL)zrLEcj_#R(cN_nx(tb^a~m(N>nd;jMAs7Ub#iT-c)uvDC@ zzw>p^yUI)d<)q?HM`s_X`j~U0eg3?}`j2{F?wN6JV!v{zM`<%CtUO))T-G@yGywqp CkY|nn literal 0 HcmV?d00001 diff --git a/smali/res/drawable-mdpi/vk_icon_moon_outline_28.png b/smali/res/drawable-mdpi/vk_icon_moon_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..9d40e8ee8cb360f9228e3dd7b8b711b4c03a8372 GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s3?yAI>n~$qV3ZB;32_B-M**%7IC`%s5hxc| z666=mpjW`5zu78Szt7ja?kT-tUf375*7z0wggx`h z+ut?D&-dISY;(DnDTIA*_N>JQzkZtwDs1g~Dx0ReyDnNlG5<=-s<)3_=YF_RR2`|k z#-s%pCET7ajv*T7w@!Si%oHeapnU4;-W(6@DWy|fvN~O+ES{kJ{pauh|9Pq-v-j>Z zl)oplzw&e1GtW!%9e2cEwI2FwaG{x(k8#rsUS}3ntrX?O8x5!Kn9zD`<^(lQj)x+i zzO($!ay-;2el}B0CqeRAX|V1FjRtR>Xf5wNR}=Sp*H(+v9X7o-_mivH76qNaG9Kk) z&%zkOZj|XR_Q*RPl@xk!t>wauiD$weS3m2T>JrmfYaX)T-PDtEOE#*MzF@oJ_W8v3 zGaIXf9$qPq-g5p=?3~3h6@B*>{;dt)-Bb9~d+)moYwq7jyXtZ2%|8kEeA5TpYNqe6 zZ#cgEf!3Ah;=6t0?q@aecZ7Mpzsn!`EB_~p_c|T3UoFXpK#}9=>gTe~DWM4f$c@Pd literal 0 HcmV?d00001 diff --git a/smali/res/drawable-mdpi/vk_icon_sun_outline_28.png b/smali/res/drawable-mdpi/vk_icon_sun_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..99afe80aa168fdd7442b458883f25cc4edd08f4b GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s3?yAI>n{URnE^f_u0WbTKt1PEFVH5Xk|4ie zh9laK7D<2oQp}Qk;HAPU8L<5oxk8P;jsdKZpq=-hYQ_V#z{8O_(rzN+ajFHqd@apS@Nr`f9+z8~akbw1I> P1PVA$S3j3^P6&C;q)+*NoRpYMvQhCqFf_VVAaU+<2aei7#ktVbNJ8 z<~*UVA3r#KIr~W2SAIW3$bB8hNnbb{zj82d8#kPnDK9>ewoD zw`SD-S|DJ`V9eX7qrAveiaB)ljHa1s&m6WXPW+|g;CWW))JCRFYdd+R0zz&ms47G& znciZ&dh4(SpTd7Dq2(7jS6q=iSIqb+rt|U(wvbcI&v!CcO3Aroeqqu2+Vt6HZ)1#n ze3FS5bLcO{9sd?Q5qIc0=CI(9f=Zo%M>>a~lyl>&Llb^H6m(!TR4QrOG{tI@LyE|a zt&S}wUQD4U7fhRUQDLrKkW0!ji7lT@#g+sg*5q4%tYX0|7L$!9I6NAsuXw^BoaFl` zz)kn@WXD9owq?dP5@8WiOP4S;uI1>M+qOzWR%1!a!wEfSA|(z8hk9}ZXq;xc%zxAJ zh1A>t(I?LyYJHde#C>L>>7wNiofbq0s()Lct*1G4s_tZ6_MaP>VvW`aX{^fa(tqK2 zZ|2gDy^mHLTD)E+COUum<;xC=vZr;Gy+iYsy}XB=kFG)_O0vr!^W9Pu@R3ZR_r>FVdQ&MBb@0Q{P2eEk=n(NeS)jsWHPV1`fHos5VeA9Qa#{Uya7c*E?djy4? zIXNRV{^TnDvbezeVY!&UO7KgC#+M;Rg3tf(h#1TcPBk)}-g0(ctY^hz_=X_(6Dz)nj+kH4=dSzOF!8K#aH%7}Z z=hdFtzdrH+`Q&hQVojNUut*E{&=M2?D{9(w@T`jb}^=Sw`O+~xt4He z=!)hkyz+DLc9^a3IQwq*i-(3MJQlaU2)TH4;qi?}W!QHyPLa*Ms(wHILfT!{7opdl zoY$96wx4RY(<1Em;g2O&a^Eg(bmBAm_R1kX?8R%rTE)fnj1Nz1iL~jjUjL2j?%6V5 TrHX06pfu{~>gTe~DWM4fA^__e literal 0 HcmV?d00001 diff --git a/smali/res/drawable-xxhdpi/vk_icon_moon_outline_28.png b/smali/res/drawable-xxhdpi/vk_icon_moon_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d6c466ad74fcc33e6a5ea4d5d048b665860459 GIT binary patch literal 1813 zcmeAS@N?(olHy`uVBq!ia0vp^At21b3?#L;KKRVQz!VhV6XFWwj)Kt;pkfGotyr)h zXx!0~AirP+vD9K!o8>R=VdNpcVdVe_wcj%!z2XvfVIF--lvAt{EY5zlzuXfYN zqTTs345CFZUbng&8@cY1_DtX7J^L5cG%1#JPv5YL_nhQ?EvYy4j2cJI7w|~8ZOoQk z`7FRa<#~MB*YJZY_WE5hF`wn&+I~`?v!(fQgyGg(>Q7HQ8h^?03a;Q!3|gw6dt<@9 z5A!^avR7vn1^Y8FFt7D=aSVw#{C39Ac%ML#1Is&?xn@pXxg^)iY4xSF(+ZN3lO4MQ zGgG=X0w+2uDfI>|bkz!pdUNvK-}qm1KBv{cKRf&Tz2pAHbu;eSKA-n~_ucAuJD=N4 zJfZ3LbN?fyvREa9qLs5-6ja_hDcRa^3an3UQruh1(X1oR@$&Wa{1i48uERW0jx$su zB%XP#l$^{V*di&Fc1|UX^B_;W?&6h%V6x*cH)M`MX8F8=jUT) zH=HSb?YfBf!;}-VXHMxkGv&%rHz}LEC%nGyX>2JIeLu`OS-o4?SX(;E@`AwUlxKNv zFT`^4T928{3y8^6YR}1Q50kTh#-|^nVtMnJh3|9r-ouUWOxkoz%0DKty<_v(7r2qV z*hD{rk*{QZ;KBoQcJ=d{$O*KjNu62syV77Pdrnd;>ntU?3(XDz@|$jQzdC$pp?gC> zj$pFt0_~@Ky37Xxx#zMmU!QJl!oYA`r{t!Dz|)wSq7UXJl*)uRecLffc?;K_tzox> zEkf-3E@XYM%iMd~uQ942`mZR=vAD`;yqx)CxH<_q8Rl?jPqS^W`2*DtWb} z_P<5kDK43WNiVnc>^rV)wCVK?`9l@1llG>)_{_FaSX5``*dkYua&V zQGT)HZr{n-L>S@u^Ep|GY<%S%h8)9 z<(#g2`Ce7N4UgT1S#?uiem==_cj@Bu7hJ`T8wET|amy*`KXmNR$H~iIiu^e9@0)R| zm&oS$BhR|6|8I@WHPSm{9mM1wnX+Kgp*|D)yBSdhsoPus&AxN6s&viyEiv zn#x9t?WTJxT1|S^LjwQ+ literal 0 HcmV?d00001 diff --git a/smali/res/drawable-xxhdpi/vk_icon_sun_outline_28.png b/smali/res/drawable-xxhdpi/vk_icon_sun_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe9d6ea790efb7ec3f66c926280723edc76a317 GIT binary patch literal 1051 zcmeAS@N?(olHy`uVBq!ia0vp^At21b3?#L;KKRVQz^EMH6XFWwjspB4@M1B`dZ3Dg zk|4ie2DbKR9Zv-ozP?}0x#dB)*uO(YqJQVGI(IMGe|PJL60^ncdDrhzUFmi$x$qZD z-n$9&gs1&Z+NZnsV3h)+Wtk6?;m_1nj`lyy6F2B}RxY0tle?#jV@Sl|w-MRaOpYRA6ZLXjI=4){L9YcP{Vk zJDsx`^Nt^$lV5$$^8LAUJKy#66i7PgEKW{dJWX+O)WPKu?LJm|6Z`mQia0!6GUto@ zB%_lWYCF#_@%mdjbA#_KS-+_4<%jJuXB(`Dom9Pi*-MM%%T=M zPRzaA#P@+grTBBx!BelJKj`b}>i!b1iDT9{b6#_soUK@Zzy_HsQC$l+bTt-uT-m3; zV@(p{VQyt@+tV5GQ;vr<`h_LeS_-~>8Ll*Aai@BS%}TA{%!COgUagZ?83`Vj{}H9u z9rk2O?;7ScYqaN2a_-7WJA0*HdUkZdS+hrX7}Yj4M{Iw1`P#E%(;se}{Xb@kyV@(e z@86C(ZHy53{{70{Mb{5K-F@Hf?!kwFoO72yx?04qyL*Dr-0YVxJ~XH-OWxGq=fCCE zlZ|iIN`$@(O*ywJuD*(`k&8Fo*YA$7a*>{TYH!mO{td29lejs4p0wO+V1D<;uOiOP zwr^C`zMgdD=6|O6LRoFC^KNY$iI#-9GrmaOx;rBzfFn+Lve|;Wx^f~4Hx$%zo$P0p z{JJ!^#jKuPbMpE0M;dC1M^%0V&br5M>Ko|D`CtM2t)@j&_DvJ?yfoczsfYcmuUF+o zGMCO>GJngfuvv@dN=V-?zQ5%2C$Eb?KIr~h8>?$Ew>9hc+(oX&5^51Wwl^5pHcMZy zYUa!Ear6AVaQiaZs_bU|z4v>c$7b5R7wUWNQ>QZH&!-JPEgv6RZ}l@(T>a^iKdV05 apJ0Djk!SY9WBO(^HYk~Wkcw>i0NhGB>?Q6?$ZY;s+S+{MZ5lvB;6W^)UX zp0=3iG#zYdLT4Hpl}ks)jv8$|kMmzVKb+6&_5FTc-`~Ek_Ya@Xb$?$EHHZNO005|A zJ>3F!o&5JG19$hj6Nmx;DAfA<;4!=BKl+Ej|0jV)IRDu0XR|2*zJUP!%r~+)=a#Js zuQ9~GpON-8?wtJ7L9JE{w3umgT|0m3z@_c!m^o&koTia?OS&FFP5$wd)g$oGJVWCbdDBP;ONF_fJ3VRy zbsQTlKSX{L6@D;KFh9RqF~7M9YGiX9(HZhHK9qE`0?B3zf+BU}X2|h&8T)sP;_{C?C^*E)BT2Oa9WZnA1G4cJjO6k-RtX9iPc9zF| zx_)MX#`MtNV?4-qpxEgqkHsG}oIRI;`Ust#;GxB*d@{SGDf7&wCR*waHnoYH+cWbmY=og{BuR(lMw%ElbJx(Ykp{@Uoa!l6^VPV*1;iz zX@ug(-W89koH`*$d*8P9LJF!@x)Pv!`Howy60o<}cFkca;s%~rI>C(vn$ZUSbD(91 zLMOW3AxISs3CTd4^Z1G-E}qU*y#$ro1`8XtffLtTwa7dcP5ejwf$ zd%eUh$VNC2$m#W`9}68cXSyJS7oP;=D%^^9z!Y->ah6B0k!6j9 z{N{4D9qcveD8K=qlQt|?OX@njjMG6o)VGDs2~Ar3Qq$Ub!D$}g?+J%@%)Q&)^*3jZD=W&cQ8jP3YJtjnT1h<^qoarixHlcOk;TQN%2s5l)iL8D0zeuCHK$iar z%v)OMP`aPtqFUW^b~pW^HCaby=T2G7ztPFZz8e~cA#}H2KAZdtO6HO>hpB2ZaOCyM zt&Ec_^k;TdjHq7+hTz2ehPUuXcKW*R7wawd%8G*}CB_`PiLdTT&bIC~Fu8tHe}vpL zPNdxM=yTi6X_9pRh!R=K{Te0_XVVLi0%|vIB_8;R?Hb#cAmL~H zb`b>KZrWUsp?? zJb<)ZS#>V@)Bb{lgnP*!m5YYvrVUj`m*WK4YtEy)!PK>zPB9}ku`^5+R$UV6?{30k LeBC-w5xM^ZfieqA literal 0 HcmV?d00001 diff --git a/smali/res/drawable-xxxhdpi/vk_icon_sun_outline_28.png b/smali/res/drawable-xxxhdpi/vk_icon_sun_outline_28.png new file mode 100644 index 0000000000000000000000000000000000000000..731bccd2dde99e8d7bbb8bf827e820450eabd33c GIT binary patch literal 1349 zcmeAS@N?(olHy`uVBq!ia0vp^1t8493?x6=u~afJFvbV?gt!8^qkwiH;IXXF9B6t; zNswPKgUqsLZ=W*fUj1-1jb-{37vl}eH9tFeE1oAZGMVL1-F@u7>1k`vkF%GsXFsU? zc7Z3rUv7D+z*?KLI}DOv?seqrD*3Lu`3(2HX@;&n!fW*PR{uLPi8rKRjo~yp!f9Ha(derod?;s1CHAS<%zQF(l*O+o+%6j|>Ekt(u^cu6>;wI zx#F>PYY?ydUaNv`tGX_s0L4P#HT#9vJXhmTXjvd2(&QAt5f=FI**@FC`wcs{OE8@m zd)MaXAG~?`Qt$lY$;&q$^xgRD%A2gr)aBQ2E!y>EX7t|`NvyYSoY=}b!F~VAy|ObM z-P5NR?_76|@6Cq0Q!etFeEIV2q719^Lk|rDB%E`i3pMOaFb@lgsy~21&ZW&*Ip}DtFddaqznx}7gofp2tdT7GLM%E`hju*IPeoZHoFXsoIQ`?*rKAgPOl#LIWI2^p_4)zhn(VH~Dd)0Rn-!NS zFaM{ozw`R!nte`&p}T7JgO`SEbg)y7yLxs{mE!h~9Yz~P1GsKmTf}i3-(9Ve|Nm-Z znX*Mu**0#kgwu{wZyohZUiy36ne4Z55m*1Hl>JMm1coGV+ipxADnLr_!WgDrCF{K+(jK`7ymrzIWM&4 zmdhf+f2KKGVC=iu#}yTDr!#F zI-IU$Ia_<;-2Z%*#_22{eMPc6@)tqU>IN>>qvnBE?gTe~DWM4fCr{p$ literal 0 HcmV?d00001 diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__0.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__0.xml new file mode 100644 index 000000000..c5ba06c18 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__0.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__1.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__1.xml new file mode 100644 index 000000000..9a126adb5 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__1.xml @@ -0,0 +1,9 @@ + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__2.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__2.xml new file mode 100644 index 000000000..47ae6d9d6 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__2.xml @@ -0,0 +1,9 @@ + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__3.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__3.xml new file mode 100644 index 000000000..721a4032c --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__3.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__4.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__4.xml new file mode 100644 index 000000000..eb5a529ec --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__4.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__5.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__5.xml new file mode 100644 index 000000000..eb5a529ec --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__5.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__6.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__6.xml new file mode 100644 index 000000000..721a4032c --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__6.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__7.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__7.xml new file mode 100644 index 000000000..197e4cf11 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__7.xml @@ -0,0 +1,32 @@ + + + + + + + \ No newline at end of file diff --git a/smali/res/drawable/$vk_icon_animated_moon_to_sun__8.xml b/smali/res/drawable/$vk_icon_animated_moon_to_sun__8.xml new file mode 100644 index 000000000..721a4032c --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_moon_to_sun__8.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__0.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__0.xml new file mode 100644 index 000000000..fe9f49007 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__0.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__1.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__1.xml new file mode 100644 index 000000000..4fe839b8f --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__1.xml @@ -0,0 +1,9 @@ + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__2.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__2.xml new file mode 100644 index 000000000..e72d5e0bd --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__2.xml @@ -0,0 +1,9 @@ + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__3.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__3.xml new file mode 100644 index 000000000..b09093c0a --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__3.xml @@ -0,0 +1,32 @@ + + + + + + + \ No newline at end of file diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__4.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__4.xml new file mode 100644 index 000000000..14a3d05d1 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__4.xml @@ -0,0 +1,32 @@ + + + + + + + \ No newline at end of file diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__5.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__5.xml new file mode 100644 index 000000000..c7cd5a530 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__5.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__6.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__6.xml new file mode 100644 index 000000000..546b83695 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__6.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__7.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__7.xml new file mode 100644 index 000000000..546b83695 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__7.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/$vk_icon_animated_sun_to_moon__8.xml b/smali/res/drawable/$vk_icon_animated_sun_to_moon__8.xml new file mode 100644 index 000000000..546b83695 --- /dev/null +++ b/smali/res/drawable/$vk_icon_animated_sun_to_moon__8.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/smali/res/drawable/vk_icon_animated_moon_to_sun.xml b/smali/res/drawable/vk_icon_animated_moon_to_sun.xml new file mode 100644 index 000000000..aa5a29cdd --- /dev/null +++ b/smali/res/drawable/vk_icon_animated_moon_to_sun.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/smali/res/drawable/vk_icon_animated_sun_to_moon.xml b/smali/res/drawable/vk_icon_animated_sun_to_moon.xml new file mode 100644 index 000000000..56ff559e7 --- /dev/null +++ b/smali/res/drawable/vk_icon_animated_sun_to_moon.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/smali/res/drawable/vk_icon_switch_theme.xml b/smali/res/drawable/vk_icon_switch_theme.xml new file mode 100644 index 000000000..62f3d06ac --- /dev/null +++ b/smali/res/drawable/vk_icon_switch_theme.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/smali/res/values/public.xml b/smali/res/values/public.xml index c65c6e65e..ea5df2760 100644 --- a/smali/res/values/public.xml +++ b/smali/res/values/public.xml @@ -10900,6 +10900,14 @@ + + + + + + + +