Skip to content

Commit 7623453

Browse files
committed
Rework text selection and add MIUI support
1 parent d72969a commit 7623453

File tree

5 files changed

+435
-168
lines changed

5 files changed

+435
-168
lines changed

res/values-v21/styles.xml

+5-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,11 @@
256256

257257
</style>
258258

259-
<style name="Theme.Launcher" parent="@android:style/Theme.Material.NoActionBar" />
259+
<style name="Theme.Launcher" parent="@android:style/Theme.Material.NoActionBar">
260+
261+
<item name="android:navigationBarColor">@android:color/black</item>
262+
263+
</style>
260264

261265
<style name="Widget.OverlapPopupMenu" parent="@android:style/Widget.Material.PopupMenu">
262266

src/com/mishiranu/dashchan/util/AndroidUtils.java

+17
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,26 @@
1010
import android.os.Build;
1111
import android.os.Handler;
1212
import androidx.annotation.RequiresApi;
13+
import chan.util.StringUtils;
1314
import com.mishiranu.dashchan.C;
15+
import java.lang.reflect.Method;
1416

1517
public class AndroidUtils {
18+
public static final boolean IS_MIUI;
19+
20+
static {
21+
boolean isMiui = false;
22+
try {
23+
@SuppressLint("PrivateApi")
24+
Method getProperty = Class.forName("android.os.SystemProperties")
25+
.getMethod("get", String.class, String.class);
26+
isMiui = !StringUtils.isEmpty((String) getProperty.invoke(null, "ro.miui.ui.version.name", ""));
27+
} catch (Exception e) {
28+
// Ignore exception
29+
}
30+
IS_MIUI = isMiui;
31+
}
32+
1633
public interface OnReceiveListener {
1734
void onReceive(BroadcastReceiver receiver, Context context, Intent intent);
1835
}

src/com/mishiranu/dashchan/widget/ClickableToast.java

+2-17
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,18 @@
2929
import androidx.lifecycle.LifecycleObserver;
3030
import androidx.lifecycle.LifecycleOwner;
3131
import androidx.lifecycle.OnLifecycleEvent;
32-
import chan.util.StringUtils;
3332
import com.mishiranu.dashchan.C;
3433
import com.mishiranu.dashchan.R;
3534
import com.mishiranu.dashchan.content.model.ErrorItem;
3635
import com.mishiranu.dashchan.graphics.BaseDrawable;
36+
import com.mishiranu.dashchan.util.AndroidUtils;
3737
import com.mishiranu.dashchan.util.ConcurrentUtils;
3838
import com.mishiranu.dashchan.util.FlagUtils;
3939
import com.mishiranu.dashchan.util.GraphicsUtils;
4040
import com.mishiranu.dashchan.util.ResourceUtils;
4141
import com.mishiranu.dashchan.util.ViewUtils;
4242
import java.lang.ref.WeakReference;
4343
import java.lang.reflect.Field;
44-
import java.lang.reflect.Method;
4544
import java.util.Objects;
4645
import java.util.UUID;
4746

@@ -342,7 +341,7 @@ private boolean addContainerToWindowManager() {
342341
int type = WindowManager.LayoutParams.TYPE_PHONE;
343342
added = addContainerToWindowManager(type);
344343
}
345-
} else if (C.API_LOLLIPOP && !IS_MIUI) {
344+
} else if (C.API_LOLLIPOP && !AndroidUtils.IS_MIUI) {
346345
// TYPE_TOAST works well only on Android 5.0-7.1, but doesn't work on MIUI
347346
@SuppressWarnings("deprecation")
348347
int type = WindowManager.LayoutParams.TYPE_TOAST;
@@ -598,18 +597,4 @@ public int getIntrinsicWidth() {
598597
return width;
599598
}
600599
}
601-
602-
private static final boolean IS_MIUI;
603-
604-
static {
605-
boolean isMiui = false;
606-
try {
607-
Method getProperty = Class.forName("android.os.SystemProperties")
608-
.getMethod("get", String.class, String.class);
609-
isMiui = !StringUtils.isEmpty((String) getProperty.invoke(null, "ro.miui.ui.version.name", ""));
610-
} catch (Exception e) {
611-
// Ignore exception
612-
}
613-
IS_MIUI = isMiui;
614-
}
615600
}

0 commit comments

Comments
 (0)