diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a415ffcf5..3de83b7d6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -116,6 +116,8 @@
+
+
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/DeviceInfoActivity.java b/app/src/main/java/com/github/yeriomin/yalpstore/DeviceInfoActivity.java
new file mode 100644
index 000000000..95452b51f
--- /dev/null
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/DeviceInfoActivity.java
@@ -0,0 +1,37 @@
+package com.github.yeriomin.yalpstore;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.widget.TextView;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+
+public class DeviceInfoActivity extends YalpStoreActivity {
+
+ public static final String INTENT_DEVICE_NAME = "INTENT_DEVICE_NAME";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.deviceinfo_activity_layout);
+ onNewIntent(getIntent());
+ }
+
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ String deviceName = intent.getStringExtra(INTENT_DEVICE_NAME);
+ if (TextUtils.isEmpty(deviceName)) {
+ Log.e(getClass().getName(), "No device name given");
+ finish();
+ return;
+ }
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ PrintStream printStream = new PrintStream(byteArrayOutputStream);
+ new SpoofDeviceManager(this).getProperties(deviceName).list(printStream);
+ ((TextView) findViewById(R.id.device_info)).setText(new String(byteArrayOutputStream.toByteArray()));
+ }
+}
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/fragment/preference/Device.java b/app/src/main/java/com/github/yeriomin/yalpstore/fragment/preference/Device.java
index 4e5d0203f..b93b900c0 100644
--- a/app/src/main/java/com/github/yeriomin/yalpstore/fragment/preference/Device.java
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/fragment/preference/Device.java
@@ -7,9 +7,12 @@ import android.content.Intent;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.text.TextUtils;
+import android.view.View;
+import android.widget.AdapterView;
import com.github.yeriomin.playstoreapi.PropertiesDeviceInfoProvider;
import com.github.yeriomin.yalpstore.ContextUtil;
+import com.github.yeriomin.yalpstore.DeviceInfoActivity;
import com.github.yeriomin.yalpstore.OnListPreferenceChangeListener;
import com.github.yeriomin.yalpstore.Paths;
import com.github.yeriomin.yalpstore.PlayStoreApiAuthenticator;
@@ -37,6 +40,15 @@ public class Device extends List {
@Override
public boolean onPreferenceClick(Preference preference) {
ContextUtil.toast(activity.getApplicationContext(), R.string.pref_device_to_pretend_to_be_notice, Paths.getYalpPath().getName());
+ ((AlertDialog) listPreference.getDialog()).getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
+ @Override
+ public boolean onItemLongClick(AdapterView> parent, View v, int position, long id) {
+ Intent i = new Intent(activity, DeviceInfoActivity.class);
+ i.putExtra(DeviceInfoActivity.INTENT_DEVICE_NAME, (String) keyValueMap.keySet().toArray()[position]);
+ activity.startActivity(i);
+ return false;
+ }
+ });
return false;
}
});
diff --git a/app/src/main/res/layout/deviceinfo_activity_layout.xml b/app/src/main/res/layout/deviceinfo_activity_layout.xml
new file mode 100644
index 000000000..024633391
--- /dev/null
+++ b/app/src/main/res/layout/deviceinfo_activity_layout.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+