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 000000000..f57d481a0 Binary files /dev/null and b/smali/res/drawable-hdpi/vk_icon_moon_outline_28.png differ 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 000000000..5b61e27fc Binary files /dev/null and b/smali/res/drawable-hdpi/vk_icon_sun_outline_28.png differ diff --git a/smali/res/drawable-ldpi/vk_icon_moon_outline_28.png b/smali/res/drawable-ldpi/vk_icon_moon_outline_28.png new file mode 100644 index 000000000..0a44d8c81 Binary files /dev/null and b/smali/res/drawable-ldpi/vk_icon_moon_outline_28.png differ 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 000000000..ddb46ee95 Binary files /dev/null and b/smali/res/drawable-ldpi/vk_icon_sun_outline_28.png differ 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 000000000..9d40e8ee8 Binary files /dev/null and b/smali/res/drawable-mdpi/vk_icon_moon_outline_28.png differ 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 000000000..99afe80aa Binary files /dev/null and b/smali/res/drawable-mdpi/vk_icon_sun_outline_28.png differ diff --git a/smali/res/drawable-xhdpi/vk_icon_moon_outline_28.png b/smali/res/drawable-xhdpi/vk_icon_moon_outline_28.png new file mode 100644 index 000000000..fa0636130 Binary files /dev/null and b/smali/res/drawable-xhdpi/vk_icon_moon_outline_28.png differ diff --git a/smali/res/drawable-xhdpi/vk_icon_sun_outline_28.png b/smali/res/drawable-xhdpi/vk_icon_sun_outline_28.png new file mode 100644 index 000000000..4786ccab7 Binary files /dev/null and b/smali/res/drawable-xhdpi/vk_icon_sun_outline_28.png differ 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 000000000..f3d6c466a Binary files /dev/null and b/smali/res/drawable-xxhdpi/vk_icon_moon_outline_28.png differ 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 000000000..5fe9d6ea7 Binary files /dev/null and b/smali/res/drawable-xxhdpi/vk_icon_sun_outline_28.png differ diff --git a/smali/res/drawable-xxxhdpi/vk_icon_moon_outline_28.png b/smali/res/drawable-xxxhdpi/vk_icon_moon_outline_28.png new file mode 100644 index 000000000..47f5e06ed Binary files /dev/null and b/smali/res/drawable-xxxhdpi/vk_icon_moon_outline_28.png differ 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 000000000..731bccd2d Binary files /dev/null and b/smali/res/drawable-xxxhdpi/vk_icon_sun_outline_28.png differ 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 @@ + + + + + + + +