Added ability to filter 2D apps
This commit is contained in:
@@ -3,6 +3,9 @@ package aaa.QuestAppLauncher.App;
|
||||
import com.unity3d.player.UnityPlayerActivity;
|
||||
import android.app.Activity;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.FeatureInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
@@ -28,18 +31,6 @@ public class AppInfo extends UnityPlayerActivity {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (null == app.metaData)
|
||||
{
|
||||
// Skip non vr_only apps
|
||||
continue;
|
||||
}
|
||||
|
||||
String vrAppMode = app.metaData.getString("com.samsung.android.vr.application.mode");
|
||||
if (null == vrAppMode || !vrAppMode.equals("vr_only")) {
|
||||
// Skip non vr_only apps
|
||||
continue;
|
||||
}
|
||||
|
||||
installedApps.add(app);
|
||||
}
|
||||
}
|
||||
@@ -56,6 +47,39 @@ public class AppInfo extends UnityPlayerActivity {
|
||||
return (String)this.getPackageManager().getApplicationLabel(installedApps.get(i));
|
||||
}
|
||||
|
||||
public boolean isQuestApp(int i) {
|
||||
try {
|
||||
PackageInfo info = this.getPackageManager().getPackageInfo(getPackageName(i), 0);
|
||||
if (null == info.reqFeatures) {
|
||||
return false;
|
||||
}
|
||||
for (FeatureInfo f : info.reqFeatures) {
|
||||
if (f.name != null && f.name.equals("android.hardware.vr.headtracking")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean is2DApp(int i)
|
||||
{
|
||||
ApplicationInfo app = this.installedApps.get(i);
|
||||
if (null == app.metaData)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
String vrAppMode = app.metaData.getString("com.samsung.android.vr.application.mode");
|
||||
if (null == vrAppMode || !vrAppMode.equals("vr_only")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public byte[] getIcon(int i) {
|
||||
BitmapDrawable icon = (BitmapDrawable)this.getPackageManager().getApplicationIcon(installedApps.get(i));
|
||||
Bitmap bmp = icon.getBitmap();
|
||||
|
||||
Reference in New Issue
Block a user