ios writebar lol

This commit is contained in:
gdlbo
2022-09-18 22:09:48 +03:00
parent 253b3bdcb9
commit 8806f36182
7 changed files with 315 additions and 2 deletions
@@ -0,0 +1,10 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.wbios;
import ru.vtosters.lite.utils.AndroidUtils;
public class WritebarHook{
public static int getWriteBar(){
return AndroidUtils.getIdentifier((wbios() ? "write_bar_i" : "write_bar"), "layout");
}
}
@@ -12,6 +12,7 @@ import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import com.vk.core.util.Screen;
@@ -19,6 +20,7 @@ import com.vk.core.util.Screen;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Locale;
import java.util.Objects;
public class AndroidUtils {
@@ -44,13 +46,14 @@ public class AndroidUtils {
return PreferenceManager.getDefaultSharedPreferences(getGlobalContext()).edit();
} // Edit SharedPreferences
@NonNull
public static Context getGlobalContext() {
try {
return ReflectionUtils.invokeStaticMethod("android.app.AppGlobals", "getInitialApplication");
} catch (Exception e) {
Log.d("GlobalContext", "Error while fetching context via refl");
}
return null; // need fix for a13+ cuz google shit disabled global context via refl
return Objects.requireNonNull(LifecycleUtils.getCurrentActivity());
} // Getting the global context through reflection to use context on application initialization
public static Resources getResources() {
@@ -108,6 +108,10 @@ public class Preferences {
return getBoolValue("adsstories", true);
}
public static boolean wbios() {
return getBoolValue("wbios", false);
}
public static boolean videofeed() {
return getBoolValue("__dbg_disable_video_feed", false);
}
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?vk_search_bar_field_background" />
<corners
android:radius="8dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp" />
<stroke
android:width="0.8dp"
android:color="?vk_search_bar_field_background" />
</shape>
+276
View File
@@ -0,0 +1,276 @@
<?xml version="1.0" encoding="utf-8"?>
<merge 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">
<FrameLayout
android:id="@id/comment_restriction_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="32.0dip"
android:layout_height="32.0dip"
android:layout_gravity="center|start"
android:layout_marginStart="12.0dip"
android:adjustViewBounds="true"
android:importantForAccessibility="no"
android:scaleType="centerInside"
android:src="@drawable/ic_bullying_32" />
<TextView
android:id="@id/comment_restriction_text"
style="@style/VKUIText.Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="56.0dip"
android:layout_marginTop="12.0dip"
android:layout_marginEnd="16.0dip"
android:layout_marginBottom="12.0dip"
android:fontFamily="@font/roboto_regular" />
</FrameLayout>
<View
android:id="@id/comment_restriction_attach_divider"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_marginLeft="12.0dip"
android:layout_marginRight="12.0dip"
android:background="?separator_alternate"
android:visibility="gone" />
<LinearLayout
android:id="@id/write_bar_reply_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.vk.im.ui.views.ReplyView
android:id="@id/write_bar_reply_content"
style="@style/VkIm.ReplyView.Default"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="12.0dip"
android:layout_marginTop="10.0dip"
android:layout_marginEnd="10.0dip"
android:layout_marginBottom="10.0dip"
android:layout_weight="1.0" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@id/write_bar_reply_close"
android:layout_width="48.0dip"
android:layout_height="48.0dip"
android:layout_marginTop="4.0dip"
android:layout_marginEnd="2.0dip"
android:layout_marginBottom="4.0dip"
android:adjustViewBounds="true"
android:background="?selectableItemBackground"
android:scaleType="centerInside"
android:src="@drawable/ic_cancel_24"
android:tint="?icon_outline_secondary" />
</LinearLayout>
<com.vtosters.lite.ui.AttachmentsEditorView
android:id="@id/write_bar_attach_editor"
android:layout_width="match_parent"
android:layout_height="91.0dip"
android:paddingLeft="16.0dip"
android:paddingRight="16.0dip" />
<View
android:id="@id/write_bar_attach_divider"
android:layout_width="match_parent"
android:layout_height="0.5dip"
android:layout_marginLeft="12.0dip"
android:layout_marginRight="12.0dip"
android:background="?separator_alternate"
android:visibility="gone" />
<FrameLayout
android:id="@id/write_bar_edit_area_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true">
<include
android:id="@id/writebar_waveform_area"
layout="@layout/write_bar_waveform"
android:visibility="invisible" />
<include
android:id="@id/writebar_audio_area"
layout="@layout/write_bar_audio"
android:visibility="invisible" />
<TextView
android:id="@id/writebar_record_tip"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="2"
android:paddingStart="@dimen/voice_rec_tip_left_padding_max"
android:paddingEnd="@dimen/voice_rec_tip_right_padding"
android:text="@string/audio_message_hold_to_record"
android:textColor="?field_text_placeholder"
android:textSize="18.0sp"
android:visibility="invisible" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@id/writebar_text_area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="52.0dip"
android:orientation="horizontal">
<ImageView
android:id="@id/writebar_attach"
android:layout_width="44.0dip"
android:layout_height="44.0dip"
android:layout_gravity="center_vertical"
android:layout_marginLeft="6.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="6.0dip"
android:layout_marginBottom="2.0dip"
android:background="@drawable/highlight_icon"
android:contentDescription="@string/accessibility_msg_send_attach"
android:padding="8.0dip"
android:src="?im_ic_attach"
android:tint="?accent" />
<com.vk.im.ui.views.RichEditText
android:id="@id/writebar_edit"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dip"
android:layout_marginBottom="5.0dip"
android:layout_weight="1.0"
android:background="@drawable/roundmsg"
android:ems="10"
android:gravity="center_vertical"
android:hint="@string/msg_hint"
android:inputType="textCapSentences|textMultiLine"
android:maxHeight="110.0dip"
android:minHeight="42.0dip"
android:paddingLeft="14.0dip"
android:paddingTop="8.0dip"
android:paddingRight="8.0dip"
android:paddingBottom="10.0dip"
android:textColor="?text_primary"
android:textColorHint="?text_placeholder"
android:textSize="18.0dip" />
<ImageView
android:id="@id/writebar_bot_keyboard"
android:layout_width="44.0dip"
android:layout_height="44.0dip"
android:layout_gravity="center_vertical"
android:layout_marginLeft="6.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
android:background="@drawable/highlight_icon"
android:contentDescription="@string/accessibility_msg_bot_keyboard"
android:scaleType="center"
android:src="?im_ic_bot_keyboard"
android:visibility="gone"
android:tint="?accent" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="6.0dip">
<ImageView
android:id="@id/writebar_emoji"
android:layout_width="44.0dip"
android:layout_height="44.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
android:background="@drawable/highlight_icon"
android:contentDescription="@string/accessibility_msg_send_stickers"
android:scaleType="center"
android:src="?im_ic_emoji"
android:tint="?accent" />
<ImageView
android:id="@id/writebar_emoji_new"
android:layout_width="10.0dip"
android:layout_height="10.0dip"
android:layout_gravity="center|end|top"
android:layout_marginTop="10.0dip"
android:layout_marginEnd="10.0dip"
android:background="@drawable/ic_sticker_new_badge_composite_full"
android:contentDescription="@string/accessibility_msg_send_stickers" />
</FrameLayout>
</LinearLayout>
<FrameLayout
android:id="@id/writebar_action"
android:layout_width="44.0dip"
android:layout_height="44.0dip"
android:layout_gravity="center|end"
android:layout_marginTop="2.0dip"
android:layout_marginEnd="6.0dip"
android:layout_marginBottom="2.0dip">
<ImageView
android:id="@id/writebar_send"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/highlight_icon"
android:contentDescription="@string/accessibility_msg_send_msg"
android:scaleType="center"
android:visibility="invisible" />
<ImageView
android:id="@id/writebar_record"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/highlight_icon"
android:clickable="true"
android:contentDescription="@string/accessibility_msg_record_audiomsg"
android:hapticFeedbackEnabled="false"
android:scaleType="center"
android:soundEffectsEnabled="false"
android:src="?im_ic_microphone"
android:tint="?accent" />
<com.vk.core.view.UploadProgressView
android:id="@id/cancelable_progress"
android:layout_width="44.0dip"
android:layout_height="44.0dip"
android:layout_gravity="end|center"
android:background="@drawable/highlight_icon"
android:contentDescription="@string/accessibility_cancel"
android:visibility="gone"
app:upload_cancelIcon="@drawable/ic_cancel_16"
app:upload_cancelIconSize="16.0dip"
app:upload_cancelIconTintColor="?accent"
app:upload_cancelIconVisible="true"
app:upload_layerColor="@color/transparent"
app:upload_lineColor="?accent"
app:upload_lineDownScaleThreshold="22.0dip"
app:upload_lineRounded="true"
app:upload_lineWidth="2.0dip"
app:upload_progressInverse="true"
app:upload_progressMax="100"
app:upload_progressMin="0"
app:upload_progressMovement="false"
app:upload_progressRadius="22.0dip"
app:upload_progressValue="0" />
</FrameLayout>
</FrameLayout>
</FrameLayout>
</merge>
+4
View File
@@ -14,6 +14,10 @@
android:key="convBarRecomm"
android:summary="@string/convBarRecomm_summ"
android:title="@string/convBarRecomm_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="wbios"
android:title="Панель ввода с iOS" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vk_messenger" android:key="vkmesett">
<com.vtosters.lite.ui.MaterialSwitchPreference
@@ -1314,7 +1314,9 @@
move-result-object p1
const v0, 0x7f0d06da
invoke-static {}, Lru/vtosters/lite/hooks/WritebarHook;->getWriteBar()I
move-result v0
.line 23
invoke-static {p1, v0, p0}, Landroid/widget/LinearLayout;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;