Skip to content

Commit

Permalink
Merge pull request #36 from lianglixin/functional
Browse files Browse the repository at this point in the history
Fix bugs and add features.
  • Loading branch information
lianglixin authored May 19, 2019
2 parents ff933c5 + 475ec58 commit 2248410
Show file tree
Hide file tree
Showing 16 changed files with 209 additions and 23 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ android {
applicationId "io.virtualapp.sandvxposed"
minSdkVersion 19
targetSdkVersion 26
versionCode 36
versionName "1.2.5.1.3.1.1.7"
versionCode 37
versionName "1.2.5.1.3.1.1.8"
multiDexEnabled true
android {
defaultConfig {
Expand Down
Binary file modified app/release/app-release.apk
Binary file not shown.
2 changes: 1 addition & 1 deletion app/release/output.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":36,"versionName":"1.2.5.1.3.1.1.7","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":37,"versionName":"1.2.5.1.3.1.1.8","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
8 changes: 7 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,13 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name="com.sk.vloc.VLocSetting" />
<activity
android:launchMode="singleInstance"
android:name="com.sk.app.RenameApp"
android:label="@string/rename"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name="com.sk.vloc.VLocSetting"
android:launchMode="singleInstance" />

<service
android:name="sk.vpkg.live.WhiteService"
Expand Down
45 changes: 33 additions & 12 deletions app/src/main/java/io/virtualapp/home/HomeActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import com.lody.virtual.client.stub.ChooseTypeAndAccountActivity;
import com.lody.virtual.os.VUserInfo;
import com.lody.virtual.os.VUserManager;
import com.sk.app.RenameApp;
import com.sk.fwindow.skFloattingWin;
import com.sk.vloc.VLocSetting;

Expand Down Expand Up @@ -596,6 +597,7 @@ private class LauncherTouchCallback extends ItemTouchHelper.SimpleCallback {
int[] location = new int[2];
boolean upAtDeleteAppArea;
boolean upAtCreateShortcutArea;
boolean upAtRenameArea = false;
RecyclerView.ViewHolder dragHolder;

LauncherTouchCallback() {
Expand Down Expand Up @@ -657,7 +659,7 @@ public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionStat

@Override
public boolean canDropOver(RecyclerView recyclerView, RecyclerView.ViewHolder current, RecyclerView.ViewHolder target) {
if (upAtCreateShortcutArea || upAtDeleteAppArea) {
if (upAtCreateShortcutArea || upAtDeleteAppArea || upAtRenameArea) {
return false;
}
try {
Expand Down Expand Up @@ -686,7 +688,24 @@ public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHol
} else if (upAtDeleteAppArea) {
deleteApp(viewHolder.getAdapterPosition());
}
// TODO: Rename application......
else if(upAtRenameArea)
{
try
{
Intent hIntent = new Intent(
HomeActivity.this, RenameApp.class);
AppData appData = mLaunchpadAdapter.getList().get(viewHolder.getAdapterPosition());
int userId = 0;
if (appData instanceof MultiplePackageAppData)
userId=((MultiplePackageAppData) appData).userId;
String lpStr[] = {appData.getPackageName(),String.valueOf(userId)};
hIntent.putExtra("appInfo", lpStr);
startActivity(hIntent);
}catch (Throwable e)
{
e.printStackTrace();
}
}
}
dragHolder = null;
}
Expand Down Expand Up @@ -716,30 +735,32 @@ public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHo
if (x < deleteAppAreaStartX) {
upAtCreateShortcutArea = true;
upAtDeleteAppArea = false;
upAtRenameArea = false;
mCreateShortcutTextView.setTextColor(Color.parseColor("#0099cc"));
mDeleteAppTextView.setTextColor(Color.WHITE);
mRenameTextView.setTextColor(Color.WHITE);
} else {
upAtDeleteAppArea = true;
upAtCreateShortcutArea = false;
upAtRenameArea = false;
mDeleteAppTextView.setTextColor(Color.parseColor("#0099cc"));
mCreateShortcutTextView.setTextColor(Color.WHITE);
mRenameTextView.setTextColor(Color.WHITE);
}
} else if(y >= baseLine - mRenameArea.getHeight())
{
// TODO rename app
int deleteAppAreaStartX = location[0];
if (x < deleteAppAreaStartX)
{
mRenameTextView.setTextColor(Color.parseColor("#0099cc"));
}
else
{
mRenameTextView.setTextColor(Color.WHITE);
}
// TODO: 优化一下位置,要不然那个位置太难被触及了。
mRenameTextView.setTextColor(Color.parseColor("#0099cc"));
mDeleteAppTextView.setTextColor(Color.WHITE);
mCreateShortcutTextView.setTextColor(Color.WHITE);
upAtRenameArea = true;
upAtCreateShortcutArea = false;
upAtDeleteAppArea = false;
}
else{
upAtCreateShortcutArea = false;
upAtDeleteAppArea = false;
upAtRenameArea = false;
mDeleteAppTextView.setTextColor(Color.WHITE);
mCreateShortcutTextView.setTextColor(Color.WHITE);
mRenameTextView.setTextColor(Color.WHITE);
Expand Down
22 changes: 20 additions & 2 deletions app/src/main/java/io/virtualapp/home/repo/AppRepository.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.util.Log;

import com.lody.virtual.GmsSupport;
import com.lody.virtual.client.core.InstallStrategy;
Expand All @@ -26,6 +27,8 @@
import io.virtualapp.home.models.AppInfoLite;
import io.virtualapp.home.models.MultiplePackageAppData;
import io.virtualapp.home.models.PackageAppData;
import sk.vpkg.manager.RenameAppUtils;
import sk.vpkg.provider.BanNotificationProvider;

/**
* @author Lody
Expand Down Expand Up @@ -65,12 +68,27 @@ public Promise<List<AppData>, Throwable, Void> getVirtualApps() {
}
PackageAppData data = new PackageAppData(mContext, info);
if (VirtualCore.get().isAppInstalledAsUser(0, info.packageName)) {
models.add(data);
String lpIsSet = RenameAppUtils.getRenamedApp(data.packageName,0);
if(lpIsSet!=null)
{
data.name = lpIsSet;
models.add(data);
}
else
models.add(data);
}
int[] userIds = info.getInstalledUsers();
for (int userId : userIds) {
data = new PackageAppData(mContext, info);
if (userId != 0) {
models.add(new MultiplePackageAppData(data, userId));
String lpIsSet = RenameAppUtils.getRenamedApp(data.packageName,userId);
if(lpIsSet!=null)
{
data.name = lpIsSet;
models.add(new MultiplePackageAppData(data, userId));
}
else
models.add(new MultiplePackageAppData(data, userId));
}
}
}
Expand Down
33 changes: 33 additions & 0 deletions app/src/main/res/layout/activity_rename_app.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sk.app.RenameApp">

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_rename_app" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_delete" />

</android.support.design.widget.CoordinatorLayout>
73 changes: 73 additions & 0 deletions app/src/main/res/layout/content_rename_app.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.sk.app.RenameApp"
tools:showIn="@layout/activity_rename_app">

<EditText
android:id="@+id/textAppName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp8"
android:layout_marginTop="203dp"
android:layout_marginEnd="@dimen/dp8"
android:ems="10"
android:inputType="text"
android:hint="@string/app_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/btnSaveName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp8"
android:layout_marginTop="84dp"
android:layout_marginEnd="@dimen/dp8"
android:text="@string/save"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textAppName" />

<Button
android:id="@+id/btnCancelRename"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp8"
android:layout_marginEnd="@dimen/dp8"
android:text="@string/delete"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnSaveName" />

<Button
android:id="@+id/btnBackRename"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp8"
android:layout_marginEnd="@dimen/dp8"
android:text="@string/back"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnCancelRename" />

<TextView
android:id="@+id/renameAppTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="28dp"
android:text="@string/app_name"
app:layout_constraintBottom_toTopOf="@+id/textAppName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

</android.support.constraint.ConstraintLayout>
8 changes: 8 additions & 0 deletions app/src/main/res/layout/vloc_setting_fragment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,12 @@
android:text="@string/about"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button2" />

<Button
android:id="@+id/locSettingBack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/back"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnToRemove" />
</android.support.constraint.ConstraintLayout>
1 change: 1 addition & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,5 @@
<string name="pick">拾取</string>
<string name="rename">重命名</string>
<string name="prevent_killing">防止进程被系统结束</string>
<string name="disable_xposed">禁用Xposed功能</string>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,5 @@
<string name="pick">拾取</string>
<string name="rename">重命名</string>
<string name="prevent_killing">防止进程被K</string>
<string name="disable_xposed">禁用Xposed功能</string>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,6 @@
<string name="pick">Pickup</string>
<string name="rename">Rename</string>
<string name="prevent_killing">Prevent process from killing.</string>
<string name="title_activity_rename_app">RenameApp</string>
<string name="disable_xposed">Disable Xposed</string>
</resources>
4 changes: 3 additions & 1 deletion lib/src/main/java/com/lody/virtual/client/VClientImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
import mirror.java.lang.ThreadGroupN;
import sk.vpkg.live.WhiteService;
import sk.vpkg.provider.BanNotificationProvider;
import sk.vpkg.xposed.XposedUtils;

import static com.lody.virtual.os.VUserHandle.getUserId;

Expand Down Expand Up @@ -317,7 +318,8 @@ private void bindApplicationNoCheck(String packageName, String processName, Cond
InvocationStubManager.getInstance().checkEnv(AppInstrumentation.class);
}

SandXposed.injectXposedModule(context, packageName, processName);
if(XposedUtils.isEnabledXposed(packageName))
SandXposed.injectXposedModule(context, packageName, processName);

mInitialApplication = LoadedApk.makeApplication.call(data.info, false, null);

Expand Down
18 changes: 18 additions & 0 deletions lib/src/main/java/com/lody/virtual/client/core/VirtualCore.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,10 @@
import mirror.android.app.ActivityThread;
import sk.vpkg.live.WhiteService;
import sk.vpkg.location.getPkgLocation;
import sk.vpkg.manager.RenameAppUtils;
import sk.vpkg.notification.SKVPackageNotificationHook;
import sk.vpkg.provider.BanNotificationProvider;
import sk.vpkg.xposed.XposedUtils;

/**
* @author Lody
Expand Down Expand Up @@ -612,6 +615,13 @@ public boolean isStartup() {

public boolean uninstallPackageAsUser(String pkgName, int userId) {
try {
try{
RenameAppUtils.undoRenameByUid(pkgName, userId);
}
catch (Throwable e)
{
e.printStackTrace();
}
return getService().uninstallPackageAsUser(pkgName, userId);
} catch (RemoteException e) {
// Ignore
Expand All @@ -620,6 +630,13 @@ public boolean uninstallPackageAsUser(String pkgName, int userId) {
}

public boolean uninstallPackage(String pkgName) {
try{
RenameAppUtils.undoRenameByUid(pkgName, 0);
}
catch (Throwable e)
{
e.printStackTrace();
}
try
{
SKVPackageNotificationHook hHook = new SKVPackageNotificationHook();
Expand All @@ -630,6 +647,7 @@ public boolean uninstallPackage(String pkgName) {
e.printStackTrace();
}
getPkgLocation.removeLocFromPkg(pkgName);
XposedUtils.clearXposed(pkgName);
try {
return getService().uninstallPackage(pkgName);
} catch (RemoteException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ public static <T> T crash(RemoteException e) throws RuntimeException {


public static boolean isArt() {
return System.getProperty("java.vm.version").startsWith("2");
try{return System.getProperty("java.vm.version").startsWith("2");}catch (Throwable e)
{
e.printStackTrace();
return true;
}
}
}
Loading

0 comments on commit 2248410

Please sign in to comment.