diff --git a/app/src/main/java/com/tangem/NFCLocation.kt b/app/src/main/java/com/tangem/NFCLocation.kt
new file mode 100644
index 0000000000..d3acad88ef
--- /dev/null
+++ b/app/src/main/java/com/tangem/NFCLocation.kt
@@ -0,0 +1,169 @@
+package com.tangem.domain
+
+enum class NFCLocation(val codename: String, val fullName: String, val orientation: Int, val x: Int, val y: Int, val z: Int) {
+ model1("sailfish", "Google Pixel", 0, 65, 25, 0),
+ model2("walleye", "Google Pixel 2", 0, 40, 15, 0),
+ model3("taimen", "Google Pixel 2 XL", 0, 40, 15, 0),
+ model4("marlin", "Google Pixel XL", 0, 65, 25, 0),
+ model5("htc_pme", "HTC 10", 0, 50, 20, 0),
+ model6("htc_himau", "HTC One M9", 0, 50, 20, 0),
+ model7("htc_himaw", "HTC One M9", 0, 50, 20, 0),
+ model8("htc_oce", "HTC U Ultra", 0, 50, 20, 0),
+ model9("htc_ocn", "HTC U11", 0, 50, 25, 0),
+ model10("htc_ocm", "HTC U11+", 0, 50, 60, 0),
+ model11("htc_ime", "HTC U12+", 0, 50, 20, 0),
+ model12("HWCOL", "Huawei Honor 10", 0, 50, 0, 0),
+ model13("HWFRD", "Huawei Honor 8", 0, 50, 0, 0),
+ model14("HWDUK", "Huawei Honor 8 Pro", 0, 50, 0, 0),
+ model15("HWSTF", "Huawei Honor 9", 0, 50, 0, 0),
+ model16("HWBKL", "Huawei Honor View 10", 0, 50, 0, 0),
+ model17("HWALP", "Huawei Mate 10", 0, 50, 0, 0),
+ model18("HWBLA", "Huawei Mate 10 Pro", 0, 50, 0, 0),
+ model19("HWBLN-H", "Huawei Mate 9 Lite / Honor 6X", 0, 40, 0, 0),
+ model20("angler", "Huawei Nexus 6P", 0, 40, 15, 0),
+ model21("HWVTR", "Huawei P10", 0, 50, 0, 0),
+ model22("HWWAS-H", "Huawei P10 lite", 0, 50, 0, 0),
+ model23("HWVKY", "Huawei P10 Plus", 0, 50, 0, 0),
+ model24("HWEML", "Huawei P20", 0, 50, 50, 0),
+ model25("HWCLT", "Huawei P20 Pro", 0, 50, 50, 0),
+ model26("HW-01K", "Huawei P20 Pro", 0, 50, 50, 0),
+ model27("hwALE-", "Huawei P8 Lite", 1, 75, 65, 0),
+ model28("HWPRA-H", "Huawei P8 Lite 2017", 0, 50, 25, 0),
+ model29("HWEVA", "Huawei P9", 0, 50, 0, 0),
+ model30("HWVNS-?", "Huawei P9 Lite", 0, 60, 45, 0),
+ model31("HWVIE", "Huawei P9 Plus", 0, 50, 0, 0),
+ model32("h1", "LG G5", 0, 30, 20, 0),
+ model33("lucye", "LG G6", 0, 50, 50, 0),
+ model34("hammerhead", "LG Nexus 5", 0, 50, 50, 0),
+ model35("bullhead", "LG Nexus 5X", 0, 45, 15, 0),
+ model36("mh", "LG Q6", 1, 25, 50, 0),
+ model37("ph2n", "LG Stylo 2+", 0, 75, 20, 0),
+ model38("sf340n", "LG Stylo 3+", 0, 75, 20, 0),
+ model39("ph1n", "LG Stylus 2", 0, 75, 20, 0),
+ model40("msf3", "LG Stylus 3", 0, 75, 20, 0),
+ model41("elsa", "LG V20", 0, 50, 15, 0),
+ model42("joan", "LG V30", 0, 50, 50, 0),
+ model43("L-01K", "LG V30+", 0, 50, 50, 0),
+ model44("nora_8917_n", "Motorola Moto E5", 0, 50, 40, 0),
+ model45("potter_n", "Motorola Moto G5 Plus", 0, 50, 5, 0),
+ model46("montana_n", "Motorola Moto G5s", 0, 50, 5, 0),
+ model47("sanders_n", "Motorola Moto G5s Plus", 0, 50, 5, 0),
+ model48("ali_n", "Motorola Moto G6", 0, 50, 35, 0),
+ model49("aljeter_n", "Motorola Moto G6 Play", 0, 50, 35, 0),
+ model50("evert_n", "Motorola Moto G6 Plus", 0, 40, 40, 0),
+ model51("payton", "Motorola Moto X4", 0, 50, 40, 0),
+ model52("nash", "Motorola Moto Z2 Force", 0, 50, 40, 0),
+ model53("albus", "Motorola Moto Z2 Play", 0, 50, 5, 0),
+ model54("shamu", "Motorola Nexus 6", 0, 50, 60, 0),
+ model55("NE1", "Nokia 3", 0, 40, 30, 0),
+ model56("ND1", "Nokia 5", 0, 40, 25, 0),
+ model57("PLE", "Nokia 6", 0, 50, 20, 0),
+ model58("C1N", "Nokia 7", 0, 50, 25, 0),
+ model59("B2N", "Nokia 7 Plus", 0, 75, 10, 0),
+ model60("NB1", "Nokia 8", 0, 50, 30, 0),
+ model61("OnePlus3", "OnePlus 3", 0, 50, 15, 0),
+ model62("OnePlus3T", "OnePlus 3t", 0, 50, 15, 0),
+ model63("OnePlus5", "OnePlus 5", 0, 80, 5, 0),
+ model64("OnePlus5T", "OnePlus 5t", 0, 80, 5, 0),
+ model65("OnePlus6", "OnePlus 6", 0, 50, 20, 0),
+ model66("A0001", "OnePlus One", 0, 50, 50, 0),
+ model67("a5x", "Samsung Galaxy A5 (2016)", 1, 50, 45, 0),
+ model68("a8", "Samsung Galaxy A8 / A8 (2016)", 0, 50, 15, 0),
+ model69("jackpotlte", "Samsung Galaxy A8 (2018)", 1, 50, 50, 0),
+ model70("jackpot2lte", "Samsung Galaxy A8+", 1, 50, 45, 0),
+ model71("a9xltechn", "Samsung Galaxy A9 (2016)", 1, 50, 45, 0),
+ model72("a7y17lte", "Samsung Galaxy A7 (2017)", 1, 60, 40, 0),
+ model73("c5ltechn", "Samsung Galaxy C5", 0, 45, 15, 0),
+ model74("c5pltechn", "Samsung Galaxy C5", 0, 45, 15, 0),
+ model75("c5proltechn", "Samsung Galaxy C5 Pro", 1, 45, 15, 0),
+ model76("c7ltechn", "Samsung Galaxy C7", 0, 50, 15, 0),
+ model77("c7prolte", "Samsung Galaxy C7 Pro", 1, 50, 15, 0),
+ model78("c9lte", "Samsung Galaxy C9 Pro", 0, 45, 15, 0),
+ model79("j5x", "Samsung Galaxy J5 (2016)", 1, 40, 50, 0),
+ model80("j5y17lte", "Samsung Galaxy J5 (2017) / J5 Pro", 1, 60, 50, 0),
+ model81("j7y17lte", "Samsung Galaxy J7 Pro", 1, 40, 50, 0),
+ model82("noblelte", "Samsung Galaxy Note5", 1, 50, 60, 0),
+ model83("SCV37", "Samsung Galaxy Note8", 1, 50, 45, 0),
+ model84("SC-01K", "Samsung Galaxy Note8", 1, 50, 45, 0),
+ model85("great", "Samsung Galaxy Note8", 1, 50, 45, 0),
+ model86("SC-05G", "Samsung Galaxy S6", 1, 30, 60, 0),
+ model87("zeroflte", "Samsung Galaxy S6", 1, 30, 60, 0),
+ model88("SCV31", "Samsung Galaxy S6 edge", 1, 30, 60, 0),
+ model89("404SC", "Samsung Galaxy S6 edge", 1, 30, 60, 0),
+ model90("SC-04G", "Samsung Galaxy S6 edge", 1, 30, 60, 0),
+ model91("zerolte", "Samsung Galaxy S6 edge", 1, 30, 60, 0),
+ model92("zenlte", "Samsung Galaxy S6 edge+", 1, 50, 55, 0),
+ model93("heroqlte", "Samsung Galaxy S7", 1, 50, 45, 0),
+ model94("herolte", "Samsung Galaxy S7", 1, 50, 45, 0),
+ model95("SCV33", "Samsung Galaxy S7 Edge", 1, 50, 45, 0),
+ model96("SC-02H", "Samsung Galaxy S7 Edge", 1, 50, 45, 0),
+ model97("hero2", "Samsung Galaxy S7 Edge", 1, 50, 45, 0),
+ model98("poseidonlteatt", "Samsung Galaxy S7 Active", 1, 45, 55, 0),
+ model99("SCV36", "Samsung Galaxy S8", 1, 50, 55, 0),
+ model100("SC-02J", "Samsung Galaxy S8", 1, 50, 55, 0),
+ model101("SCV35", "Samsung Galaxy S8+", 1, 50, 45, 0),
+ model102("SC-03J", "Samsung Galaxy S8+", 1, 50, 45, 0),
+ model103("dream2", "Samsung Galaxy S8+", 1, 50, 45, 0),
+ model104("cruiserlte", "Samsung Galaxy S8 Active", 1, 50, 50, 0),
+ model105("SCV38", "Samsung Galaxy S9", 1, 50, 50, 0),
+ model106("SC-02K", "Samsung Galaxy S9", 1, 50, 50, 0),
+ model107("starlte", "Samsung Galaxy S9", 1, 50, 50, 0),
+ model108("starqlte", "Samsung Galaxy S9", 1, 50, 50, 0),
+ model109("SCV39", "Samsung Galaxy S9+", 1, 50, 60, 0),
+ model110("SC-03K", "Samsung Galaxy S9+", 1, 50, 60, 0),
+ model111("star2", "Samsung Galaxy S9+", 1, 50, 60, 0),
+ model112("F331", "Sony Xperia E5", 0, 50, 25, 0),
+ model113("G33", "Sony Xperia L1", 0, 50, 30, 0),
+ model114("H33", "Sony Xperia L2", 0, 50, 20, 0),
+ model115("H43", "Sony Xperia L2", 0, 50, 20, 0),
+ model116("F512", "Sony Xperia X", 0, 10, 5, 1),
+ model117("suzu", "Sony Xperia X", 0, 10, 5, 1),
+ model118("F5321", "Sony Xperia X Compact", 0, 50, 55, 0),
+ model119("SO-02J", "Sony Xperia X Compact", 0, 50, 55, 0),
+ model120("F813", "Sony Xperia X Performance", 0, 10, 5, 1),
+ model121("SOV33", "Sony Xperia X Performance", 0, 10, 5, 1),
+ model122("SO-04H", "Sony Xperia X Performance", 0, 10, 5, 1),
+ model123("502SO", "Sony Xperia X Performance", 0, 10, 5, 1),
+ model124("F311", "Sony Xperia XA", 0, 50, 20, 0),
+ model125("F321", "Sony Xperia XA Ultra", 0, 50, 25, 0),
+ model126("G31", "Sony Xperia XA1", 0, 50, 20, 0),
+ model127("G34", "Sony Xperia XA1 Plus", 0, 50, 25, 0),
+ model128("G32", "Sony Xperia XA1 Ultra", 0, 50, 20, 0),
+ model129("H31", "Sony Xperia XA2", 0, 50, 15, 0),
+ model130("H41", "Sony Xperia XA2", 0, 50, 15, 0),
+ model131("H32", "Sony Xperia XA2 Ultra", 0, 50, 20, 0),
+ model132("H42", "Sony Xperia XA2 Ultra", 0, 50, 20, 0),
+ model133("F833", "Sony Xperia XZ", 0, 20, 5, 1),
+ model134("SO-01J", "Sony Xperia XZ", 0, 20, 5, 1),
+ model135("601SO", "Sony Xperia XZ", 0, 20, 5, 1),
+ model136("SOV34", "Sony Xperia XZ", 0, 20, 5, 1),
+ model137("G81", "Sony Xperia XZ Premium", 0, 50, 55, 0),
+ model138("SO-04J", "Sony Xperia XZ Premium", 0, 50, 55, 0),
+ model139("G834", "Sony Xperia XZ1", 0, 45, 5, 0),
+ model140("701SO", "Sony Xperia XZ1", 0, 45, 5, 0),
+ model141("SOV36", "Sony Xperia XZ1", 0, 45, 5, 0),
+ model142("SO-01K", "Sony Xperia XZ1", 0, 45, 5, 0),
+ model143("G8441", "Sony Xperia XZ1 Compact", 0, 50, 30, 0),
+ model144("SO-02K", "Sony Xperia XZ1 Compact", 0, 50, 30, 0),
+ model145("H82", "Sony Xperia XZ2", 0, 20, 40, 0),
+ model146("SOV37", "Sony Xperia XZ2", 0, 20, 40, 0),
+ model147("SO-03K", "Sony Xperia XZ2", 0, 20, 40, 0),
+ model148("702SO", "Sony Xperia XZ2", 0, 20, 40, 0),
+ model149("H8324", "Sony Xperia XZ2 Compact", 0, 50, 25, 0),
+ model150("SO-05K", "Sony Xperia XZ2 Compact", 0, 50, 25, 0),
+ model151("H8314", "Sony Xperia XZ2 Compact", 0, 50, 25, 0),
+ model152("G823", "Sony Xperia XZs", 0, 20, 5, 1),
+ model153("602SO", "Sony Xperia XZs", 0, 20, 5, 1),
+ model154("SOV35", "Sony Xperia XZs", 0, 20, 5, 1),
+ model155("SO-03J", "Sony Xperia XZs", 0, 20, 5, 1),
+ model156("gemini", "Xiaomi Mi 5", 0, 40, 20, 0),
+ model157("capricorn", "Xiaomi Mi 5S", 0, 50, 10, 0),
+ model158("natrium", "Xiaomi Mi 5S Plus", 0, 45, 15, 0),
+ model159("sagit", "Xiaomi Mi 6", 0, 50, 20, 0),
+ model160("dipper", "Xiaomi Mi 8", 0, 45, 20, 0),
+ model161("lithium", "Xiaomi Mi MIX", 0, 20, 20, 0),
+ model162("chiron", "Xiaomi Mi MIX 2", 0, 45, 20, 0),
+ model163("polaris", "Xiaomi Mi MIX 2S", 0, 45, 20, 0),
+ model164("scorpio", "Xiaomi Mi Note 2", 0, 50, 20, 0),
+ model165("jason", "Xiaomi Mi Note 3", 0, 50, 20, 0),
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.java b/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.java
deleted file mode 100644
index 88e3aecd52..0000000000
--- a/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.tangem.domain.wallet;
-
-import android.os.Build;
-
-public class DeviceNFCAntennaLocation {
-
- public float X;
- public float Y;
- public boolean OnBackSide;
- public float Strength;
-
- public void getAntennaLocation() {
- String device = DeviceName.getDeviceName();
- String model = Build.DEVICE;
- this.X = 0.5f;
- this.Y = 0.33f;
- this.OnBackSide = true;
- this.Strength = 1.0f;
- // Samsung
-// if (model.contains("Samsung")) {this.Y = 0.33; this.Strength = 0.5; }
-// if (model.contains("Sony")) {this.Y = 0.33; this.Strength = 0.5; }
-// if (device == "Galaxy J5") {this.Y = 0.4; this.Strength = 0.5; }
- if (device == "P10 lite") {this.Y = 0.03f; this.Strength = 0.8f; }
- }
-}
diff --git a/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.kt b/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.kt
new file mode 100644
index 0000000000..70455ac09f
--- /dev/null
+++ b/app/src/main/java/com/tangem/domain/wallet/DeviceNFCAntennaLocation.kt
@@ -0,0 +1,40 @@
+package com.tangem.domain.wallet
+
+import android.os.Build
+import com.tangem.domain.NFCLocation
+
+class DeviceNFCAntennaLocation {
+ val TAG: String = DeviceNFCAntennaLocation::class.java.simpleName
+
+ var orientation: Int = 0
+ var fullName: String = ""
+ var x: Float = 0.toFloat()
+ var y: Float = 0.toFloat()
+ var z: Float = 0.toFloat()
+ var onBackSide: Boolean = false
+ var strength: Float = 0.toFloat()
+
+ fun getAntennaLocation() {
+ val codename = Build.DEVICE
+
+ // default values
+ this.orientation = 0
+ this.fullName = ""
+ this.x = 0.5f
+ this.y = 0.35f
+ this.z = 0f
+ this.onBackSide = true
+ this.strength = 1.0f
+
+ for (nfcLocation in NFCLocation.values()) {
+ if (codename == nfcLocation.codename) {
+ this.fullName = nfcLocation.fullName
+ this.orientation = nfcLocation.orientation
+ this.x = nfcLocation.x / 100f
+ this.y = nfcLocation.y / 100f
+ this.z = nfcLocation.z / 100f
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/presentation/activity/MainActivity.java b/app/src/main/java/com/tangem/presentation/activity/MainActivity.java
index 731f03981a..a676df0526 100644
--- a/app/src/main/java/com/tangem/presentation/activity/MainActivity.java
+++ b/app/src/main/java/com/tangem/presentation/activity/MainActivity.java
@@ -87,21 +87,22 @@ public class MainActivity extends AppCompatActivity implements PopupMenu.OnMenuI
rippleBackground.startRippleAnimation();
- if (BuildConfig.DEBUG)
- tvNFCHint.setText("Scan a banknote with your\n" + PhoneUtility.GetPhoneName() + "\nas shown above");
- else
- tvNFCHint.setText(R.string.scan_banknote);
-
DeviceNFCAntennaLocation antenna = new DeviceNFCAntennaLocation();
antenna.getAntennaLocation();
+ // set phone name
+ if (!antenna.getFullName().equals(""))
+ tvNFCHint.setText("Scan a banknote with your\n" + antenna.getFullName() + "\n as shown above");
+ else
+ tvNFCHint.setText("Scan a banknote with your\n" + getString(R.string.phone) + "\n as shown above");
+
// animate
final RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) hand.getLayoutParams();
final RelativeLayout.LayoutParams lp2 = (RelativeLayout.LayoutParams) nfc.getLayoutParams();
final float dp = getResources().getDisplayMetrics().density;
- final float lm = dp * (69 + antenna.X * 75);
- lp.topMargin = (int) (dp * (-100 + antenna.Y * 250));
- lp2.topMargin = (int) (dp * (-125 + antenna.Y * 250));
+ final float lm = dp * (69 + antenna.getX() * 75);
+ lp.topMargin = (int) (dp * (-100 + antenna.getY() * 250));
+ lp2.topMargin = (int) (dp * (-125 + antenna.getY() * 250));
nfc.setLayoutParams(lp2);
Animation a = new Animation() {
@Override
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7598d2ed11..6308c62958 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -77,7 +77,8 @@
Tap Tangem card with your smartphone
- Scan a banknote with your \n smartphone as shown above
+
+ phone
Last unspent
NO WALLET
ERASED WALLET