From f934cfc95c8707b01bc2d514f10e544304569932 Mon Sep 17 00:00:00 2001
From: unknowtech <41585567+unknowtech@users.noreply.github.com>
Date: Thu, 20 Sep 2018 00:59:13 +0200
Subject: [PATCH 01/64] Updated fr (French) translation
Commit made via Stringlate
---
app/src/debug/res/values-fr/strings.xml | 4 ++++
app/src/main/res/values-fr/strings.xml | 26 +++++++++----------------
2 files changed, 13 insertions(+), 17 deletions(-)
create mode 100644 app/src/debug/res/values-fr/strings.xml
diff --git a/app/src/debug/res/values-fr/strings.xml b/app/src/debug/res/values-fr/strings.xml
new file mode 100644
index 00000000..8acf9edd
--- /dev/null
+++ b/app/src/debug/res/values-fr/strings.xml
@@ -0,0 +1,4 @@
+
+
+ Contacts
+
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 41cbcd62..e65a3955 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -14,7 +14,7 @@
Envoyer un SMS au groupe
Envoyer un e-mail au groupe
Call %s
- Request the required permissions
+ Demander les autorisations requises
Nouveau contact
Modifier contact
@@ -23,7 +23,7 @@
Prénom
Deuxième prénom
Nom
- Nickname
+ Surnom
Pas de groupe
@@ -49,12 +49,12 @@
Appeler le contact
Voir les détails du contact
Configurer l\'affichage des champs des contacts
- Try filtering out duplicate contacts
- Manage shown tabs
+ Essayez de filtrer les contacts en double
+ Gérer les onglets affichés
Contacts
Favorites
- Recent calls
- Show a call confirmation dialog before initiating a call
+ Appels récents
+ Afficher une boîte de dialogue de confirmation d\'appel avant de lancer un appel
E-mail
@@ -80,7 +80,7 @@
Ajouter des favoris
Ajouter aux favoris
Retirer des favoris
- You must be at the Edit screen to modify a contact
+ Vous devez être sur l\'écran Modifier pour modifier un contact
Rechercher des contacts
@@ -108,7 +108,7 @@
Sites web
Groupe
Source du contact
- Instant messaging (IM)
+ Messagerie instantanée (MI)
Je veux changer quelles champs sont visibles. Est-ce que je peux ?
@@ -117,15 +117,7 @@
Une appli de contacts pour gérer vos contacts sans pubs.
-
- Une appli simple pour créer et gérer vos contacts depuis n\'importe quelle source. Les contacts peuvent être stockés sur votre appareil mais aussi synchronisés via Google ou d\'autres comptes. Vous pouvez afficher vos contacts favoris dans une liste séparée.
-
- Vous pouvez l\'utiliser pour gérer les e-mail et événements de vos contacts. Elle permet de trier/filter via de multiples paramètres, et même afficher le surnom en premier.
-
- Aucune publicité ni de permission inutile. Elle est entièrement open source et vous permet de personnaliser les couleurs.
-
- Cette application fait parti d\'un groupe d\'applications. Vous pouvez trouver le reste des applis sur https://www.simplemobiletools.com
-
+ Une appli simple pour créer et gérer vos contacts depuis n\'importe quelle source. Les contacts peuvent être stockés sur votre appareil mais aussi synchronisés via Google ou d\'autres comptes. Vous pouvez afficher vos contacts favoris dans une liste séparée. Vous pouvez l\'utiliser pour gérer les e-mail et événements de vos contacts. Elle permet de trier/filter via de multiples paramètres, et même afficher le surnom en premier. Aucune publicité ni de permission inutile. Elle est entièrement open source et vous permet de personnaliser les couleurs. Cette application fait parti d\'un groupe d\'applications. Vous pouvez trouver le reste des applis sur https://www.simplemobiletools.com
Une appli de contacts pour gérer vos contacts sans pubs.
- Une appli simple pour créer et gérer vos contacts depuis n\'importe quelle source. Les contacts peuvent être stockés sur votre appareil mais aussi synchronisés via Google ou d\'autres comptes. Vous pouvez afficher vos contacts favoris dans une liste séparée. Vous pouvez l\'utiliser pour gérer les e-mail et événements de vos contacts. Elle permet de trier/filter via de multiples paramètres, et même afficher le surnom en premier. Aucune publicité ni de permission inutile. Elle est entièrement open source et vous permet de personnaliser les couleurs. Cette application fait parti d\'un groupe d\'applications. Vous pouvez trouver le reste des applis sur https://www.simplemobiletools.com
+
+ Une appli simple pour créer et gérer vos contacts depuis n\'importe quelle source. Les contacts peuvent être stockés sur votre appareil mais aussi synchronisés via Google ou d\'autres comptes. Vous pouvez afficher vos contacts favoris dans une liste séparée.
+
+ Vous pouvez l\'utiliser pour gérer les e-mail et événements de vos contacts. Elle permet de trier/filter via de multiples paramètres, et même afficher le surnom en premier.
+
+ Aucune publicité ni de permission inutile. Elle est entièrement open source et vous permet de personnaliser les couleurs.
+
+ Cette application fait parti d\'un groupe d\'applications. Vous pouvez trouver le reste des applis sur https://www.simplemobiletools.com
+
+ Dialpad
+
Göstərmək üçün sahəni seç
Ön şəkilçi
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 849c7b58..31d124e0 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -95,6 +95,9 @@
Kontaktquellen einschließen
Dateiname (ohne .vcf)
+
+ Dialpad
+
Sichtbare Felder auswählen
Titel
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 6b962c3a..4a55f0c1 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -95,6 +95,9 @@
Συμπερίληψη πηγών επαφών
Όνομα αρχείου (χωρίς .vcf)
+
+ Dialpad
+
Επιλογή εμφάνισης πεδίων
Πρόθεμα
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 352508a0..acbdf9ac 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -95,6 +95,9 @@
Inclure les sources du contact
Nom du fichier (sans .vcf)
+
+ Dialpad
+
Sélectionner les champs à afficher
Préfixe
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index d788a73d..963f9a5d 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -95,6 +95,9 @@
Uključi izvore kontakta
Naziv datoteke (bez .vcf)
+
+ Dialpad
+
Odaberi polja za prikaz
Prefiks
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 2eec9101..e044a4d8 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -95,6 +95,9 @@
Include contact sources
ファイル名 (.vcfを含めない)
+
+ Dialpad
+
表示する項目を選択
敬称(名前の前)
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index f6fdee3a..41017aea 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -95,6 +95,9 @@
가져오기 대상
파일이름 (.vcf 확장자 생략)
+
+ Dialpad
+
Select fields to show
Prefix
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 7d211427..baa7e996 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -95,6 +95,9 @@
Įtraukti kontaktų šaltinius
Bylos vardas (be .vcf)
+
+ Dialpad
+
Pasirinkti rodomus laukelius
Priešdėlis
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index b1a2e6c0..471022e4 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -95,6 +95,9 @@
Incluir fontes dos contactos
Nome do ficheiro (sem .vcf)
+
+ Dialpad
+
Selecione os campos a mostrar
Prefixo
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index e26bfa89..98f52187 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -95,6 +95,9 @@
Включить источники контактов
Имя файла (без .vcf)
+
+ Dialpad
+
Выберите отображаемые поля
Префикс
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index d4a23b33..0c8c7e6d 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -95,6 +95,9 @@
Zahrnúť zdroje kontaktov
Názov súboru (bez .vcf)
+
+ Číselník
+
Zvoľte polia na zobrazenie
Titul pred menom
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 480be2fc..fe7d0145 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -95,6 +95,9 @@
Inkludera kontaktkällor
Filnamn (utan .vcf)
+
+ Dialpad
+
Välj vilka fält som ska visas
Prefix
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index ba9cfd93..a6d28640 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -95,6 +95,9 @@
Kişi kaynaklarını dahil et
Dosya adı (.vcf olmadan)
+
+ Dialpad
+
Görüntülenecek alanları seç
Önek
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 362ba455..448f3713 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -95,6 +95,9 @@
包含聯絡人來源
檔案名稱 (不含.vcf)
+
+ Dialpad
+
選擇要顯示的欄位
前缀
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index ae6e5ebe..3283fd64 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -4,5 +4,5 @@
45dp
40dp
52dp
- 60dp
+ 60dp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index eb065320..f63785f1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -95,6 +95,9 @@
Include contact sources
Filename (without .vcf)
+
+ Dialpad
+
Select fields to show
Prefix
From 872a7f19d4c14c0bc80fcf476aaa0b4488500883 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Sat, 22 Sep 2018 23:26:33 +0200
Subject: [PATCH 07/64] adding some elevation to the dialpad activity button
---
app/src/main/res/layout/activity_main.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index d3ba2743..948c5fa9 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -30,6 +30,7 @@
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/activity_margin"
android:background="@drawable/circle_background"
+ android:elevation="@dimen/medium_margin"
android:padding="@dimen/normal_margin"
android:src="@drawable/ic_phone_big"/>
From 9ab4f3ea7f59198d267ae843f6d91b7cc4edf5fb Mon Sep 17 00:00:00 2001
From: tibbi
Date: Sat, 22 Sep 2018 23:35:34 +0200
Subject: [PATCH 08/64] adding some dialpad numbers and symbols
---
.../contacts/activities/DialpadActivity.kt | 19 +++
app/src/main/res/layout/activity_dialpad.xml | 147 +++++++++++++++++-
app/src/main/res/values-v21/styles.xml | 7 +
app/src/main/res/values/dimens.xml | 1 +
app/src/main/res/values/styles.xml | 11 ++
5 files changed, 184 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/res/values-v21/styles.xml
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index d0952a48..8b950be5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -1,11 +1,30 @@
package com.simplemobiletools.contacts.activities
import android.os.Bundle
+import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.contacts.R
+import kotlinx.android.synthetic.main.activity_dialpad.*
class DialpadActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dialpad)
+ dialpad_0.setOnClickListener { }
+ dialpad_1.setOnClickListener { }
+ dialpad_2.setOnClickListener { }
+ dialpad_3.setOnClickListener { }
+ dialpad_4.setOnClickListener { }
+ dialpad_5.setOnClickListener { }
+ dialpad_6.setOnClickListener { }
+ dialpad_7.setOnClickListener { }
+ dialpad_8.setOnClickListener { }
+ dialpad_9.setOnClickListener { }
+ dialpad_asterisk.setOnClickListener { }
+ dialpad_hashtag.setOnClickListener { }
+ }
+
+ override fun onResume() {
+ super.onResume()
+ updateTextColors(dialpad_wrapper)
}
}
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 561aa9ea..0b653a7e 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -1,8 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
new file mode 100644
index 00000000..afdc4448
--- /dev/null
+++ b/app/src/main/res/values-v21/styles.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 3283fd64..cfa2f5db 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -5,4 +5,5 @@
40dp
52dp
60dp
+ 44sp
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0be50415..dd117a86 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -2,4 +2,15 @@
+
+
+
+
From 96c6e8cd5a3edfc026ca2a12e142770e584db140 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Sun, 23 Sep 2018 10:23:23 +0200
Subject: [PATCH 09/64] add a dialpad input for showing dialed chars
---
.../contacts/activities/DialpadActivity.kt | 29 ++++++++++--------
.../main/res/drawable-hdpi/ic_clear_char.png | Bin 0 -> 437 bytes
.../main/res/drawable-xhdpi/ic_clear_char.png | Bin 0 -> 524 bytes
.../res/drawable-xxhdpi/ic_clear_char.png | Bin 0 -> 732 bytes
.../res/drawable-xxxhdpi/ic_clear_char.png | Bin 0 -> 919 bytes
app/src/main/res/layout/activity_dialpad.xml | 10 ++++++
app/src/main/res/values/dimens.xml | 1 +
7 files changed, 28 insertions(+), 12 deletions(-)
create mode 100644 app/src/main/res/drawable-hdpi/ic_clear_char.png
create mode 100644 app/src/main/res/drawable-xhdpi/ic_clear_char.png
create mode 100644 app/src/main/res/drawable-xxhdpi/ic_clear_char.png
create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_clear_char.png
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 8b950be5..0c5ad59a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -9,22 +9,27 @@ class DialpadActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dialpad)
- dialpad_0.setOnClickListener { }
- dialpad_1.setOnClickListener { }
- dialpad_2.setOnClickListener { }
- dialpad_3.setOnClickListener { }
- dialpad_4.setOnClickListener { }
- dialpad_5.setOnClickListener { }
- dialpad_6.setOnClickListener { }
- dialpad_7.setOnClickListener { }
- dialpad_8.setOnClickListener { }
- dialpad_9.setOnClickListener { }
- dialpad_asterisk.setOnClickListener { }
- dialpad_hashtag.setOnClickListener { }
+
+ dialpad_0.setOnClickListener { dialpadPressed("0") }
+ dialpad_1.setOnClickListener { dialpadPressed("1") }
+ dialpad_2.setOnClickListener { dialpadPressed("2") }
+ dialpad_3.setOnClickListener { dialpadPressed("3") }
+ dialpad_4.setOnClickListener { dialpadPressed("4") }
+ dialpad_5.setOnClickListener { dialpadPressed("5") }
+ dialpad_6.setOnClickListener { dialpadPressed("6") }
+ dialpad_7.setOnClickListener { dialpadPressed("7") }
+ dialpad_8.setOnClickListener { dialpadPressed("8") }
+ dialpad_9.setOnClickListener { dialpadPressed("9") }
+ dialpad_asterisk.setOnClickListener { dialpadPressed("*") }
+ dialpad_hashtag.setOnClickListener { dialpadPressed("#") }
}
override fun onResume() {
super.onResume()
updateTextColors(dialpad_wrapper)
}
+
+ private fun dialpadPressed(char: String) {
+ dialpad_input.append(char)
+ }
}
diff --git a/app/src/main/res/drawable-hdpi/ic_clear_char.png b/app/src/main/res/drawable-hdpi/ic_clear_char.png
new file mode 100644
index 0000000000000000000000000000000000000000..3fd9c535b048107eabc5b93effa7d158e7362e4a
GIT binary patch
literal 437
zcmV;m0ZRUfP)!686nZdW;+rZ8{$uZ&eB*A8!7FOps}Q&g`NasNa#)W
zSg@`;J9qXmY{{8wZ|;7%uek#plqZ!o(8CSRN-@?Lsc*x|XO`ERjWp(#ZklPSv5p0f
zok|pX+UJua21s&v%{>&S##1a&b8r8DNRI+$0EM<;ZNtNZg~z54?K?pb3^Z#HSwD5>
zC@pTq#5>VX9RqWhcHMzqtu@q9CO8S=WoA46Vz`enf#e3BaFf$npNJy2Vn}e5J0c;k
z;->gECl6tPAvsDm*w*-hsl~?2=
f7hZ%X`yfNVS0RAJl1zV}00000NkvXXu0mjfr;x23
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable-xhdpi/ic_clear_char.png b/app/src/main/res/drawable-xhdpi/ic_clear_char.png
new file mode 100644
index 0000000000000000000000000000000000000000..b51790d1f9b592c43bb996243da264b9b707eda9
GIT binary patch
literal 524
zcmV+n0`vWeP)o*1?rG25bLLhgM~)SN9j7f7jAUr&+&(kf+~-^
z$hyDX43s<9KFccvoXMWwek?4=^DGs=1i^wl72l3Z5OA6z&sZALHmbs{EBAd~iCW&lOVU6po
zVK+ICjRXg&aUD9uwMC}%11BOx*tHxuu}t3viV;UCu8n9ivh2YMraA!B$*${nGW!3~
zvG6XJ9zUQTXg;bXkKPEL^!d8w=?A3GrYXW}wD`$Xe84@m{AVe0&Ph|K~!ko
z?b$y|96=Zc@Mll%Jdj*rAwm2Geu+bJa4`l#igZFsAs@rWRxJb@|AY_`Ayv$2V(bjq
zi$w?|q&iRwK{&K{Qrwwy+1=Uqo!y(gka;aV-QUeKv-8d_;LDdUU%s@(fUmgE3l6e=
z@C`?0oGQQ2O`UU60$QWH`o>@+g)@UyhqGe}zl|V{;TVscPT0pK39WA2gbOL
z+^^|G5NkMhK0W}FBU>(llQ=?riv414!$Cq^-!V}PC_b{)qByZ5R9sxKBg7gug@5}Q
zbGQ?I@(y!2u-)6=3iq8umI*d^oBGLHHV9VOlKk69Tq+I(q%H>pD?CzyIL@|`lSb-u
zK(Lxl3WMGW$LINji)Ve7T;3UcI)b3;hLC{C5~`q?
zvLpjAFaQG*C<_vZDk*d!4}+n!`SRWQ9KSaAbj?-I&-dDX@3}MJ*)7
z>f&%g`NzxR>;nZ{+o5>83TjvaGlcx
zeKxd5Hs}+a=DO~{VfHT>*`FZ@1BB2%2+rst3@IOe*S5d0X
zM2JvV8d=|F9|Ws92!rfjG$^0B9upu~Qb4G)G+^Xh3;?6@A!{reAPlx&WGxOrV7NZj
zN3dYO4FU|gvgQwP-n;CU-qO>}9P-SANWtnjO)
zxM}pwY1RH#fPnTi9AU+-{Y?O#vmE*jMwsAEyY~M8SS+6?g#JH2j{Uy?0h5plf=TP$
z3&699rN{k^nq~W>$1*;koY;!5iR#dGmXB3T#a~k1PtZOvg;n^;*#`>vB{ou1%Y`yu
zLf$tlq+%cFplX<4^sND&B=QVuL_C9RJw^eR6M2#OV|$SSJTskcV)a_MEp!4tDrUsqL%b9T@LcEk
z{X6UyX1|L=$|=3q!VPiP|AF^OFU7t~Nz(lU1)#_4F^_}TQkPG|kAU<)!`g>=oW>;f
tr&Km;c!dCuHH*i|$;rvd$;l~~`VB=SE5R1O-*Er{002ovPDHLkV1iG1oTUH&
literal 0
HcmV?d00001
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 0b653a7e..80e2955e 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -16,6 +16,16 @@
android:layout_marginLeft="@dimen/activity_margin"
android:layout_marginRight="@dimen/activity_margin">
+
+
52dp
60dp
44sp
+ 40sp
From 9b86c694ff82d88036deba374a208861788f7874 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Sun, 23 Sep 2018 10:58:51 +0200
Subject: [PATCH 10/64] implement char clearing at the dialpad
---
.../contacts/activities/DialpadActivity.kt | 19 +++++++++++++++++++
app/src/main/res/layout/activity_dialpad.xml | 18 ++++++++++++++++--
2 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 0c5ad59a..5f8190dd 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -1,8 +1,11 @@
package com.simplemobiletools.contacts.activities
import android.os.Bundle
+import android.text.SpannableStringBuilder
+import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.extensions.config
import kotlinx.android.synthetic.main.activity_dialpad.*
class DialpadActivity : SimpleActivity() {
@@ -22,14 +25,30 @@ class DialpadActivity : SimpleActivity() {
dialpad_9.setOnClickListener { dialpadPressed("9") }
dialpad_asterisk.setOnClickListener { dialpadPressed("*") }
dialpad_hashtag.setOnClickListener { dialpadPressed("#") }
+ dialpad_clear_char.setOnClickListener { clearChar() }
+ dialpad_clear_char.setOnLongClickListener { clearInput(); true }
}
override fun onResume() {
super.onResume()
updateTextColors(dialpad_wrapper)
+ dialpad_clear_char.applyColorFilter(config.textColor)
}
private fun dialpadPressed(char: String) {
dialpad_input.append(char)
}
+
+ private fun clearChar() {
+ val curPostion = dialpad_input.selectionEnd
+ val reducedPos = Math.max(curPostion - 1, 0)
+ val selectedString = SpannableStringBuilder(dialpad_input.text)
+ selectedString.replace(reducedPos, curPostion, "")
+ dialpad_input.text = selectedString
+ dialpad_input.setSelection(reducedPos)
+ }
+
+ private fun clearInput() {
+ dialpad_input.setText("")
+ }
}
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 80e2955e..5a9f8f5d 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -18,13 +18,27 @@
+ app:layout_constraintBottom_toTopOf="@+id/dialpad_2"
+ app:layout_constraintEnd_toStartOf="@+id/dialpad_clear_char"
+ app:layout_constraintStart_toStartOf="parent"/>
+
+
Date: Sun, 23 Sep 2018 20:13:12 +0200
Subject: [PATCH 11/64] dispatch fake key events to dialpad input
---
.../contacts/activities/DialpadActivity.kt | 28 +++++++++++++------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 5f8190dd..3e4bc566 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -1,7 +1,7 @@
package com.simplemobiletools.contacts.activities
import android.os.Bundle
-import android.text.SpannableStringBuilder
+import android.view.KeyEvent
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.contacts.R
@@ -36,19 +36,31 @@ class DialpadActivity : SimpleActivity() {
}
private fun dialpadPressed(char: String) {
- dialpad_input.append(char)
+ dialpad_input.dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
}
private fun clearChar() {
- val curPostion = dialpad_input.selectionEnd
- val reducedPos = Math.max(curPostion - 1, 0)
- val selectedString = SpannableStringBuilder(dialpad_input.text)
- selectedString.replace(reducedPos, curPostion, "")
- dialpad_input.text = selectedString
- dialpad_input.setSelection(reducedPos)
+ dialpad_input.dispatchKeyEvent(getKeyEvent(KeyEvent.KEYCODE_DEL))
}
private fun clearInput() {
dialpad_input.setText("")
}
+
+ private fun getKeyEvent(keyCode: Int) = KeyEvent(0, 0, KeyEvent.ACTION_DOWN, keyCode, 0)
+
+ private fun getCharKeyCode(char: String) = when (char) {
+ "0" -> KeyEvent.KEYCODE_0
+ "1" -> KeyEvent.KEYCODE_1
+ "2" -> KeyEvent.KEYCODE_2
+ "3" -> KeyEvent.KEYCODE_3
+ "4" -> KeyEvent.KEYCODE_4
+ "5" -> KeyEvent.KEYCODE_5
+ "6" -> KeyEvent.KEYCODE_6
+ "7" -> KeyEvent.KEYCODE_7
+ "8" -> KeyEvent.KEYCODE_8
+ "9" -> KeyEvent.KEYCODE_9
+ "*" -> KeyEvent.KEYCODE_STAR
+ else -> KeyEvent.KEYCODE_POUND
+ }
}
From 5e66eee9533e3283c1e0adc6d09bd032554d02db Mon Sep 17 00:00:00 2001
From: tibbi
Date: Sun, 23 Sep 2018 20:33:07 +0200
Subject: [PATCH 12/64] hide the dialpad input cursor by default
---
app/src/main/res/layout/activity_dialpad.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 5a9f8f5d..04bb29b0 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -14,7 +14,8 @@
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/activity_margin"
android:layout_marginLeft="@dimen/activity_margin"
- android:layout_marginRight="@dimen/activity_margin">
+ android:layout_marginRight="@dimen/activity_margin"
+ android:focusableInTouchMode="true">
Date: Sun, 23 Sep 2018 20:41:04 +0200
Subject: [PATCH 13/64] avoid showing the soft keyboard at clicking on the
dialpad input
---
.../contacts/activities/DialpadActivity.kt | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 3e4bc566..bd3ef3b7 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -1,9 +1,13 @@
package com.simplemobiletools.contacts.activities
+import android.annotation.TargetApi
+import android.os.Build
import android.os.Bundle
+import android.text.InputType
import android.view.KeyEvent
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.updateTextColors
+import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.extensions.config
import kotlinx.android.synthetic.main.activity_dialpad.*
@@ -27,6 +31,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_hashtag.setOnClickListener { dialpadPressed("#") }
dialpad_clear_char.setOnClickListener { clearChar() }
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
+ disableKeyboardPopping()
}
override fun onResume() {
@@ -63,4 +68,13 @@ class DialpadActivity : SimpleActivity() {
"*" -> KeyEvent.KEYCODE_STAR
else -> KeyEvent.KEYCODE_POUND
}
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ private fun disableKeyboardPopping() {
+ if (isLollipopPlus()) {
+ dialpad_input.showSoftInputOnFocus = false
+ } else {
+ dialpad_input.inputType = InputType.TYPE_NULL
+ }
+ }
}
From 6159e551838059fdbfca674a94264099e0a0c815 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Mon, 24 Sep 2018 12:05:50 +0200
Subject: [PATCH 14/64] add a text change listener to the dialpad input value
---
.../contacts/activities/DialpadActivity.kt | 6 ++++++
.../contacts/extensions/EditText.kt | 13 +++++++++++++
2 files changed, 19 insertions(+)
create mode 100644 app/src/main/kotlin/com/simplemobiletools/contacts/extensions/EditText.kt
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index bd3ef3b7..f9fa6856 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -9,6 +9,7 @@ import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.extensions.afterTextChanged
import com.simplemobiletools.contacts.extensions.config
import kotlinx.android.synthetic.main.activity_dialpad.*
@@ -31,6 +32,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_hashtag.setOnClickListener { dialpadPressed("#") }
dialpad_clear_char.setOnClickListener { clearChar() }
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
+ dialpad_input.afterTextChanged { dialpadValueChanged(it) }
disableKeyboardPopping()
}
@@ -77,4 +79,8 @@ class DialpadActivity : SimpleActivity() {
dialpad_input.inputType = InputType.TYPE_NULL
}
}
+
+ private fun dialpadValueChanged(text: String) {
+
+ }
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/EditText.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/EditText.kt
new file mode 100644
index 00000000..65f826c2
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/EditText.kt
@@ -0,0 +1,13 @@
+package com.simplemobiletools.contacts.extensions
+
+import android.text.Editable
+import android.text.TextWatcher
+import android.widget.EditText
+
+fun EditText.afterTextChanged(callback: (String) -> Unit) = addTextChangedListener(object : TextWatcher {
+ override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
+
+ override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}
+
+ override fun afterTextChanged(text: Editable) = callback(text.toString())
+})
From 2beb5eb3a692e686e2707ec3841a9c9f05bc0a81 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Mon, 24 Sep 2018 14:13:27 +0200
Subject: [PATCH 15/64] filter contacts based on the dialpad input
---
.../contacts/activities/DialpadActivity.kt | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index f9fa6856..8c6840f3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -11,9 +11,13 @@ import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.extensions.afterTextChanged
import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.helpers.ContactsHelper
+import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
+import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_dialpad.*
class DialpadActivity : SimpleActivity() {
+ var contacts = ArrayList()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dialpad)
@@ -33,6 +37,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_clear_char.setOnClickListener { clearChar() }
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
dialpad_input.afterTextChanged { dialpadValueChanged(it) }
+ ContactsHelper(this).getContacts { gotContacts(it) }
disableKeyboardPopping()
}
@@ -80,7 +85,15 @@ class DialpadActivity : SimpleActivity() {
}
}
- private fun dialpadValueChanged(text: String) {
+ private fun gotContacts(newContacts: ArrayList) {
+ contacts = newContacts
+ Contact.sorting = config.sorting
+ Contact.startWithSurname = config.startNameWithSurname
+ contacts.sort()
+ }
+ private fun dialpadValueChanged(text: String) {
+ val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
+ val filtered = contacts.filter { it.cleanPhoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) } }
}
}
From 2aadd93fa6156094cf9a67bd16d3606f63583d01 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Mon, 24 Sep 2018 14:15:08 +0200
Subject: [PATCH 16/64] check contact real phone numbers too, not just the
cleared ones
---
.../simplemobiletools/contacts/activities/DialpadActivity.kt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 8c6840f3..fcb044b4 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -94,6 +94,9 @@ class DialpadActivity : SimpleActivity() {
private fun dialpadValueChanged(text: String) {
val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
- val filtered = contacts.filter { it.cleanPhoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) } }
+ val filtered = contacts.filter {
+ it.phoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) } ||
+ it.cleanPhoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) }
+ }
}
}
From 6718fb9a20594ab2c01175b82e2af2260ef15a90 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Mon, 24 Sep 2018 15:12:31 +0200
Subject: [PATCH 17/64] show the filtered contacts on a list above dialpad
---
.../contacts/activities/DialpadActivity.kt | 20 +++++++++-
.../contacts/helpers/Constants.kt | 1 +
app/src/main/res/layout/activity_dialpad.xml | 38 ++++++++++++++++++-
3 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index fcb044b4..d20d8aa5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -9,9 +9,12 @@ import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.adapters.ContactsAdapter
import com.simplemobiletools.contacts.extensions.afterTextChanged
import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.extensions.contactClicked
import com.simplemobiletools.contacts.helpers.ContactsHelper
+import com.simplemobiletools.contacts.helpers.LOCATION_DIALPAD
import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_dialpad.*
@@ -95,8 +98,21 @@ class DialpadActivity : SimpleActivity() {
private fun dialpadValueChanged(text: String) {
val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
val filtered = contacts.filter {
- it.phoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) } ||
- it.cleanPhoneNumbers.any { it.value.contains(text) || it.value.contains(numericOnly) }
+ it.phoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) } ||
+ it.cleanPhoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) }
+ } as ArrayList
+
+ ContactsAdapter(this, filtered, null, LOCATION_DIALPAD, null, dialpad_list, dialpad_fastscroller) {
+ contactClicked(it as Contact)
+ }.apply {
+ addVerticalDividers(true)
+ dialpad_list.adapter = this
+ }
+
+ dialpad_fastscroller.setScrollToY(0)
+ dialpad_fastscroller.setViews(dialpad_list) {
+ val item = (dialpad_list.adapter as ContactsAdapter).contactItems.getOrNull(it)
+ dialpad_fastscroller.updateBubbleText(item?.getBubbleText() ?: "")
}
}
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
index 34cf1ca8..d3b7fb06 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
@@ -33,6 +33,7 @@ const val LOCATION_FAVORITES_TAB = 1
const val LOCATION_RECENTS_TAB = 2
const val LOCATION_GROUPS_TAB = 3
const val LOCATION_GROUP_CONTACTS = 4
+const val LOCATION_DIALPAD = 5
const val CONTACTS_TAB_MASK = 1
const val FAVORITES_TAB_MASK = 2
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 04bb29b0..5a8704f6 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -13,14 +13,39 @@
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/activity_margin"
- android:layout_marginLeft="@dimen/activity_margin"
- android:layout_marginRight="@dimen/activity_margin"
android:focusableInTouchMode="true">
+
+
+
+
+
+
+
+
Date: Mon, 24 Sep 2018 15:17:15 +0200
Subject: [PATCH 18/64] try calling contact directly from the dialpad screen,
do not trigger edit/view
---
.../contacts/activities/DialpadActivity.kt | 4 ++--
.../contacts/extensions/Activity.kt | 16 +++++++++-------
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index d20d8aa5..4d19b26a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -11,8 +11,8 @@ import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.adapters.ContactsAdapter
import com.simplemobiletools.contacts.extensions.afterTextChanged
+import com.simplemobiletools.contacts.extensions.callContact
import com.simplemobiletools.contacts.extensions.config
-import com.simplemobiletools.contacts.extensions.contactClicked
import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.helpers.LOCATION_DIALPAD
import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
@@ -103,7 +103,7 @@ class DialpadActivity : SimpleActivity() {
} as ArrayList
ContactsAdapter(this, filtered, null, LOCATION_DIALPAD, null, dialpad_list, dialpad_fastscroller) {
- contactClicked(it as Contact)
+ callContact(it as Contact)
}.apply {
addVerticalDividers(true)
dialpad_list.adapter = this
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
index 41397cfc..b2adcb75 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
@@ -203,14 +203,16 @@ fun Activity.getVisibleContactSources(): ArrayList {
fun SimpleActivity.contactClicked(contact: Contact) {
when (config.onContactClick) {
- ON_CLICK_CALL_CONTACT -> {
- if (contact.phoneNumbers.isNotEmpty()) {
- tryStartCall(contact)
- } else {
- toast(R.string.no_phone_number_found)
- }
- }
+ ON_CLICK_CALL_CONTACT -> callContact(contact)
ON_CLICK_VIEW_CONTACT -> viewContact(contact)
ON_CLICK_EDIT_CONTACT -> editContact(contact)
}
}
+
+fun SimpleActivity.callContact(contact: Contact) {
+ if (contact.phoneNumbers.isNotEmpty()) {
+ tryStartCall(contact)
+ } else {
+ toast(R.string.no_phone_number_found)
+ }
+}
From b0c1f4e30d9cf6902f65290330ffc9a02007ae58 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 13:25:07 +0200
Subject: [PATCH 19/64] updating some things related to Android Studio 3.2
---
app/build.gradle | 2 +-
build.gradle | 4 ++--
gradle/wrapper/gradle-wrapper.properties | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 98d5b869..5f97607f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
- buildToolsVersion "28.0.2"
+ buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.simplemobiletools.contacts"
diff --git a/build.gradle b/build.gradle
index 2d064442..76ac6173 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
- ext.kotlin_version = '1.2.70'
+ ext.kotlin_version = '1.2.71'
repositories {
google()
@@ -9,7 +9,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.4'
+ classpath 'com.android.tools.build:gradle:3.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 7d73f3c2..503fd67b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Dec 10 10:08:39 CET 2017
+#Tue Sep 25 13:09:34 CEST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
From dac59dabcf2095e34930651a19c00acefd4c4ac0 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 13:34:31 +0200
Subject: [PATCH 20/64] removing a redundant wrapper of the dialpad
---
.../contacts/activities/DialpadActivity.kt | 2 +-
app/src/main/res/layout/activity_dialpad.xml | 368 +++++++++---------
2 files changed, 182 insertions(+), 188 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 4d19b26a..00c3c828 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -46,7 +46,7 @@ class DialpadActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
- updateTextColors(dialpad_wrapper)
+ updateTextColors(dialpad_holder)
dialpad_clear_char.applyColorFilter(config.textColor)
}
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 5a8704f6..a9b6535a 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -1,212 +1,206 @@
-
+ android:layout_height="match_parent"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="@dimen/activity_margin"
+ android:focusableInTouchMode="true">
-
+ android:layout_height="0dp"
+ android:clipToPadding="false"
+ android:scrollbars="none"
+ app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager"
+ app:layout_constraintBottom_toTopOf="@+id/dialpad_input"
+ app:layout_constraintTop_toTopOf="parent"/>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
From 8ae60448f4b6d27b8a784ac2727bc11d57e8af5c Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 14:11:29 +0200
Subject: [PATCH 21/64] finish the action mode at changing the input at dialpad
---
.../com/simplemobiletools/contacts/activities/DialpadActivity.kt | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 00c3c828..790d95a6 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -96,6 +96,7 @@ class DialpadActivity : SimpleActivity() {
}
private fun dialpadValueChanged(text: String) {
+ (dialpad_list.adapter as? ContactsAdapter)?.finishActMode()
val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
val filtered = contacts.filter {
it.phoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) } ||
From 980368adddd01dad445add20ebeaebae25703766 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 14:11:43 +0200
Subject: [PATCH 22/64] hide the Select All and Share menu buttons at dialpad
---
.../com/simplemobiletools/contacts/adapters/ContactsAdapter.kt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
index 39bd3220..691e0eaf 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
@@ -63,6 +63,8 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList
Date: Tue, 25 Sep 2018 14:17:55 +0200
Subject: [PATCH 23/64] highlight contact number from the search query
---
.../simplemobiletools/contacts/activities/DialpadActivity.kt | 2 +-
.../simplemobiletools/contacts/adapters/ContactsAdapter.kt | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 790d95a6..73e7dd6e 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -103,7 +103,7 @@ class DialpadActivity : SimpleActivity() {
it.cleanPhoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) }
} as ArrayList
- ContactsAdapter(this, filtered, null, LOCATION_DIALPAD, null, dialpad_list, dialpad_fastscroller) {
+ ContactsAdapter(this, filtered, null, LOCATION_DIALPAD, null, dialpad_list, dialpad_fastscroller, text) {
callContact(it as Contact)
}.apply {
addVerticalDividers(true)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
index 691e0eaf..802d074c 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
@@ -29,12 +29,12 @@ import java.util.*
class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList, private val refreshListener: RefreshContactsListener?,
private val location: Int, private val removeListener: RemoveFromGroupListener?, recyclerView: MyRecyclerView,
- fastScroller: FastScroller, itemClick: (Any) -> Unit) :
+ fastScroller: FastScroller, highlightText: String = "", itemClick: (Any) -> Unit) :
MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) {
private lateinit var contactDrawable: Drawable
private var config = activity.config
- private var textToHighlight = ""
+ private var textToHighlight = highlightText
var adjustedPrimaryColor = activity.getAdjustedPrimaryColor()
var startNameWithSurname: Boolean
From 04a7cfc9a50ef768c0f5c034554a3d0ed5adce95 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 14:24:29 +0200
Subject: [PATCH 24/64] try showing the searched phone number under contacts
---
.../simplemobiletools/contacts/adapters/ContactsAdapter.kt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
index 802d074c..bb310fb4 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
@@ -262,7 +262,12 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList
Date: Tue, 25 Sep 2018 14:42:08 +0200
Subject: [PATCH 25/64] improve the contact number fetching at the dialpad
---
.../simplemobiletools/contacts/adapters/ContactsAdapter.kt | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
index bb310fb4..867a8771 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
@@ -262,12 +262,13 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList
Date: Tue, 25 Sep 2018 20:04:42 +0200
Subject: [PATCH 26/64] add a helper function for a more advanced check if a
contact contains some numbers
---
.../contacts/activities/DialpadActivity.kt | 7 +------
.../contacts/fragments/MyViewPagerFragment.kt | 2 +-
.../contacts/models/Contact.kt | 19 +++++++++++++++++++
3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 73e7dd6e..abd029f5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -15,7 +15,6 @@ import com.simplemobiletools.contacts.extensions.callContact
import com.simplemobiletools.contacts.extensions.config
import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.helpers.LOCATION_DIALPAD
-import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_dialpad.*
@@ -97,11 +96,7 @@ class DialpadActivity : SimpleActivity() {
private fun dialpadValueChanged(text: String) {
(dialpad_list.adapter as? ContactsAdapter)?.finishActMode()
- val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
- val filtered = contacts.filter {
- it.phoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) } ||
- it.cleanPhoneNumbers.any { (text.isNotEmpty() && it.value.contains(text)) || (numericOnly.isNotEmpty() && it.value.contains(numericOnly)) }
- } as ArrayList
+ val filtered = contacts.filter { it.doesContainPhoneNumber(text) } as ArrayList
ContactsAdapter(this, filtered, null, LOCATION_DIALPAD, null, dialpad_list, dialpad_fastscroller, text) {
callContact(it as Contact)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt
index 0419aa25..208c7715 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/MyViewPagerFragment.kt
@@ -241,7 +241,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
val filtered = contactsIgnoringSearch.filter {
getProperText(it.getFullName(), shouldNormalize).contains(text, true) ||
getProperText(it.nickname, shouldNormalize).contains(text, true) ||
- it.phoneNumbers.any { it.value.contains(text, true) } ||
+ it.doesContainPhoneNumber(text) ||
it.emails.any { it.value.contains(text, true) } ||
it.addresses.any { getProperText(it.value, shouldNormalize).contains(text, true) } ||
it.IMs.any { it.value.contains(text, true) } ||
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
index de579144..e44dbd8a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
@@ -5,6 +5,7 @@ import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME
import com.simplemobiletools.commons.helpers.SORT_BY_MIDDLE_NAME
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
+import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
data class Contact(val id: Int, var prefix: String, var firstName: String, var middleName: String, var surname: String, var suffix: String, var nickname: String,
var photoUri: String, var phoneNumbers: ArrayList, var emails: ArrayList, var addresses: ArrayList,
@@ -104,4 +105,22 @@ data class Contact(val id: Int, var prefix: String, var firstName: String, var m
}
fun getHashToCompare() = getStringToCompare().hashCode()
+
+ // do a more advanced phone number check here, compare numbers and and search query with dashes, spaces and everything but numbers removed
+ fun doesContainPhoneNumber(text: String): Boolean {
+ if (text.isNotEmpty()) {
+ if (phoneNumbers.any { it.value.contains(text) } || cleanPhoneNumbers.any { it.value.contains(text) }) {
+ return true
+ }
+ }
+
+ val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
+ if (numericOnly.isNotEmpty()) {
+ if (phoneNumbers.any { it.value.contains(numericOnly) } || cleanPhoneNumbers.any { it.value.contains(numericOnly) }) {
+ return true
+ }
+ }
+
+ return false
+ }
}
From 282594c1253ab1c3d7161ccdd2a507bf40d1db54 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Tue, 25 Sep 2018 23:34:43 +0200
Subject: [PATCH 27/64] adding a button at the dialpad for creating new contact
from number
---
.../contacts/activities/DialpadActivity.kt | 32 +++++++++++++++++++
app/src/main/res/menu/menu_dialpad.xml | 9 ++++++
app/src/main/res/values-az/strings.xml | 1 +
app/src/main/res/values-de/strings.xml | 1 +
app/src/main/res/values-el/strings.xml | 1 +
app/src/main/res/values-fr/strings.xml | 1 +
app/src/main/res/values-hr/strings.xml | 1 +
app/src/main/res/values-ja/strings.xml | 1 +
app/src/main/res/values-ko-rKR/strings.xml | 1 +
app/src/main/res/values-lt/strings.xml | 1 +
app/src/main/res/values-pt/strings.xml | 1 +
app/src/main/res/values-ru/strings.xml | 1 +
app/src/main/res/values-sk/strings.xml | 1 +
app/src/main/res/values-sv/strings.xml | 1 +
app/src/main/res/values-tr/strings.xml | 1 +
app/src/main/res/values-zh-rTW/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
17 files changed, 56 insertions(+)
create mode 100644 app/src/main/res/menu/menu_dialpad.xml
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index abd029f5..f182912e 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -1,12 +1,17 @@
package com.simplemobiletools.contacts.activities
import android.annotation.TargetApi
+import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.text.InputType
import android.view.KeyEvent
+import android.view.Menu
+import android.view.MenuItem
import com.simplemobiletools.commons.extensions.applyColorFilter
+import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.extensions.updateTextColors
+import com.simplemobiletools.commons.extensions.value
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.adapters.ContactsAdapter
@@ -14,6 +19,7 @@ import com.simplemobiletools.contacts.extensions.afterTextChanged
import com.simplemobiletools.contacts.extensions.callContact
import com.simplemobiletools.contacts.extensions.config
import com.simplemobiletools.contacts.helpers.ContactsHelper
+import com.simplemobiletools.contacts.helpers.KEY_PHONE
import com.simplemobiletools.contacts.helpers.LOCATION_DIALPAD
import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_dialpad.*
@@ -49,6 +55,32 @@ class DialpadActivity : SimpleActivity() {
dialpad_clear_char.applyColorFilter(config.textColor)
}
+ override fun onCreateOptionsMenu(menu: Menu): Boolean {
+ menuInflater.inflate(R.menu.menu_dialpad, menu)
+ return true
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ when (item.itemId) {
+ R.id.create_new_contact -> createNewContact()
+ else -> return super.onOptionsItemSelected(item)
+ }
+ return true
+ }
+
+ private fun createNewContact() {
+ Intent().apply {
+ action = Intent.ACTION_INSERT_OR_EDIT
+ type = "vnd.android.cursor.item/contact"
+ putExtra(KEY_PHONE, dialpad_input.value)
+ if (resolveActivity(packageManager) != null) {
+ startActivity(this)
+ } else {
+ toast(R.string.no_app_found)
+ }
+ }
+ }
+
private fun dialpadPressed(char: String) {
dialpad_input.dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
}
diff --git a/app/src/main/res/menu/menu_dialpad.xml b/app/src/main/res/menu/menu_dialpad.xml
new file mode 100644
index 00000000..8a1ab41d
--- /dev/null
+++ b/app/src/main/res/menu/menu_dialpad.xml
@@ -0,0 +1,9 @@
+
+
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index b73e2384..e624edca 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Göstərmək üçün sahəni seç
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 31d124e0..0fecfa66 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Sichtbare Felder auswählen
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 4a55f0c1..1328162b 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Επιλογή εμφάνισης πεδίων
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index acbdf9ac..dca32b94 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Sélectionner les champs à afficher
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 963f9a5d..00c7183e 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Odaberi polja za prikaz
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index e044a4d8..7b3a24b1 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
表示する項目を選択
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index 41017aea..60867b85 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Select fields to show
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index baa7e996..cd643243 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Pasirinkti rodomus laukelius
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 471022e4..c6696378 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Selecione os campos a mostrar
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 98f52187..a9987c6c 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Выберите отображаемые поля
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 0c8c7e6d..c8cce6c5 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -97,6 +97,7 @@
Číselník
+ Vytvoriť nový kontakt z čísla
Zvoľte polia na zobrazenie
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index fe7d0145..45469d81 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Välj vilka fält som ska visas
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index a6d28640..c2fc8d90 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Görüntülenecek alanları seç
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 448f3713..d2deece6 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
選擇要顯示的欄位
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f63785f1..ebb5d39a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -97,6 +97,7 @@
Dialpad
+ Create new contact from number
Select fields to show
From 6102028435295efbea3d1c908c9b1373ff62d55d Mon Sep 17 00:00:00 2001
From: ScratchBuild
Date: Wed, 26 Sep 2018 12:15:52 +0900
Subject: [PATCH 28/64] Update Japanese translation
---
app/src/main/res/values-ja/strings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 7b3a24b1..504bfc7b 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -96,8 +96,8 @@
ファイル名 (.vcfを含めない)
- Dialpad
- Create new contact from number
+ ダイヤルパッド
+ 番号から新しい連絡先を作成
表示する項目を選択
From eb914ddfdf6ec4ddb2ce90de4ca192c53d54a22a Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 10:11:13 +0200
Subject: [PATCH 29/64] create a new activity for handling
ACTION_INSERT_OR_EDIT intent
---
app/src/main/AndroidManifest.xml | 24 ++++++++++++-------
.../activities/EditContactActivity.kt | 4 ++--
.../activities/InsertOrEditContactActivity.kt | 17 +++++++++++++
.../layout/activity_insert_edit_contact.xml | 8 +++++++
4 files changed, 42 insertions(+), 11 deletions(-)
create mode 100644 app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
create mode 100644 app/src/main/res/layout/activity_insert_edit_contact.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e2f5328a..25d5f869 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -118,15 +118,6 @@
android:name=".activities.EditContactActivity"
android:parentActivityName=".activities.MainActivity">
-
-
-
-
-
-
-
-
-
@@ -163,6 +154,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From e429b140e45d0241719901d150688aed3fc9217e Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 11:45:25 +0200
Subject: [PATCH 30/64] update the "Insert Or Edit" activity title
---
app/src/main/AndroidManifest.xml | 1 -
.../contacts/activities/InsertOrEditContactActivity.kt | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 25d5f869..998d518a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -156,7 +156,6 @@
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 407089ff..3a2c5063 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -8,6 +8,7 @@ class InsertOrEditContactActivity : ContactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_insert_edit_contact)
+ title = getString(R.string.select_contact)
handlePermission(PERMISSION_READ_CONTACTS) {
// we do not really care about the permission request result. Even if it was denied, load private contacts
From 5d8d0dd7b02f6eaa3b47fce2de8c9506e0fd5018 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 12:13:05 +0200
Subject: [PATCH 31/64] implement the "Create new contact" button on the
insert_or_Edit screen
---
.../activities/InsertOrEditContactActivity.kt | 27 ++++++++++++++++-
.../main/res/drawable-hdpi/ic_new_contact.png | Bin 0 -> 269 bytes
.../res/drawable-xhdpi/ic_new_contact.png | Bin 0 -> 322 bytes
.../res/drawable-xxhdpi/ic_new_contact.png | Bin 0 -> 421 bytes
.../res/drawable-xxxhdpi/ic_new_contact.png | Bin 0 -> 578 bytes
.../layout/activity_insert_edit_contact.xml | 28 ++++++++++++++++++
app/src/main/res/values-az/strings.xml | 2 ++
app/src/main/res/values-de/strings.xml | 2 ++
app/src/main/res/values-el/strings.xml | 2 ++
app/src/main/res/values-fr/strings.xml | 2 ++
app/src/main/res/values-hr/strings.xml | 2 ++
app/src/main/res/values-ja/strings.xml | 2 ++
app/src/main/res/values-ko-rKR/strings.xml | 2 ++
app/src/main/res/values-lt/strings.xml | 2 ++
app/src/main/res/values-pt/strings.xml | 2 ++
app/src/main/res/values-ru/strings.xml | 2 ++
app/src/main/res/values-sk/strings.xml | 2 ++
app/src/main/res/values-sv/strings.xml | 2 ++
app/src/main/res/values-tr/strings.xml | 2 ++
app/src/main/res/values-zh-rTW/strings.xml | 2 ++
app/src/main/res/values/dimens.xml | 1 +
app/src/main/res/values/strings.xml | 2 ++
22 files changed, 85 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/res/drawable-hdpi/ic_new_contact.png
create mode 100644 app/src/main/res/drawable-xhdpi/ic_new_contact.png
create mode 100644 app/src/main/res/drawable-xxhdpi/ic_new_contact.png
create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_new_contact.png
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 3a2c5063..7feea511 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -1,18 +1,43 @@
package com.simplemobiletools.contacts.activities
+import android.content.Intent
import android.os.Bundle
+import android.provider.ContactsContract
+import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
+import com.simplemobiletools.commons.extensions.toast
+import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.helpers.KEY_PHONE
+import kotlinx.android.synthetic.main.activity_insert_edit_contact.*
-class InsertOrEditContactActivity : ContactActivity() {
+class InsertOrEditContactActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_insert_edit_contact)
title = getString(R.string.select_contact)
+ updateTextColors(insert_edit_contact_holder)
handlePermission(PERMISSION_READ_CONTACTS) {
// we do not really care about the permission request result. Even if it was denied, load private contacts
+ setupViews()
+ }
+ }
+ private fun setupViews() {
+ new_contact_tmb.setImageDrawable(resources.getColoredDrawableWithColor(R.drawable.ic_new_contact, config.textColor))
+ new_contact_holder.setOnClickListener {
+ Intent().apply {
+ action = Intent.ACTION_INSERT
+ data = ContactsContract.Contacts.CONTENT_URI
+ putExtra(KEY_PHONE, intent.getStringExtra(KEY_PHONE))
+ if (resolveActivity(packageManager) != null) {
+ startActivity(this)
+ } else {
+ toast(R.string.no_app_found)
+ }
+ }
}
}
}
diff --git a/app/src/main/res/drawable-hdpi/ic_new_contact.png b/app/src/main/res/drawable-hdpi/ic_new_contact.png
new file mode 100644
index 0000000000000000000000000000000000000000..ded0ae9204330f787b238e650155b0929d65f1cc
GIT binary patch
literal 269
zcmV+o0rLKdP)H&J1pq`*e50DfD0w{nI>Jb_R2!cY$l!E#Tqp01xb_Q|3
z0mk{c+dY;MjbV_X&Vu9fSx_ev?{J4Pci!C@e$jbvQ
zR9fMN_`bedqTts+PdJP|
zmfgr-cH)4KEH!^!Ar6Ui^{ebgenCq
z3X04KYew<6;Yo)4YDhBd_!0-AI8e6qNU7@tOnT-VUU>EvzJ_nT_GbV`@WYeMq}A3RVwBiit|R`|J9X}R@4okQ
z!~5HZ|MtF*LI@#*P>pUDIpLZjZ(MWC5?%T)43Ou8-^%3aQ})PFqLvalWs6nnSyOhH
zroL}xlnr`#Cy94@l?C=mYES+c#9~n1*uY{#jiG}6L;;I}f6yHkcm6@2SQPz(imeuO
zkHx)z&>0qI{z02qZ2AWcVKM9(WIrAIN(LiUq1SX={evWCNMc&bC`e+Rde)^3gCu4t
zQ%jkgEHH9^@-a#{gKjuVZ3a<6t$+xMpa^1=IkwoQzyn_ZeDT03dA68mG_xQ^SmBUo
z>UrjX6-FF`m>|y+R!?j*sdUl70v9ynf(1I14yL#z4Yy3GS#+{Pns(__;~3+Sv^_Ge
z#?a3z9$pxb9c^6U<&t(;v5co>S#gf1b6HWsQ%P1hi=YUKpq3Ou2qF9cn1^3$=;qUg
P00000NkvXXu0mjf0jarG
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_new_contact.png b/app/src/main/res/drawable-xxxhdpi/ic_new_contact.png
new file mode 100644
index 0000000000000000000000000000000000000000..07435b94a46a5a0ebea6ded6f76b1e5394d799e4
GIT binary patch
literal 578
zcmV-I0=@l-P)41mTFnG&hjq9cYom=e&NlW$yRkJf>o%zEHnwZqwh`2$;H}*qojY^RB>xjT
z@Ads;j4{R-V~jD?Kog_v;T(_1km51t*~L5>R10Wl9Vz}N#X8y*GNzK`1NnR)$y9}j
zW{y&fqckf#%-}x7y3Y)Sg*Kj0iYIg`95iy4Qe7gZP_U44EKnHeB~3Zf^eF_aqg?Cd
zA9bWCSBg6M#t1G(6czrWBC#45Yy1Zsz{LUo0k?2*%YVQ}Tzv2!@E#ZM{RiB}#clrq
zhj4L7uIw>d^DnYGKKlQZa0rlCOS#rbAp~@m{W;yC(%~q=ADV?yC;^RJq*P~V3?@LL
zi^r7W32jn90TMI0>prV^43KE%1jRT-vlL)}L>);|VgZPhjBJ>
zo*c!7rbb#;3Gg;h6
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index e624edca..650b76f5 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -15,6 +15,8 @@
Grupa e-poçt göndər
%s şəxsinə zng et
Lazım olan icazələri istə
+ Create new contact
+ Add to an existing contact
Yeni kontakt
Redaktə et
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 0fecfa66..041a1687 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -15,6 +15,8 @@
Sende E-Mail an Gruppe
%s anrufen
Benötigte Berechtigungen anfordern
+ Create new contact
+ Add to an existing contact
Neuer Kontakt
Kontakt bearbeiten
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 1328162b..0a3751f8 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -15,6 +15,8 @@
Αποστολή email σε ομάδες
Κλήση %s
Ζητούνται τα απαιτούμενα δικαιώματα
+ Create new contact
+ Add to an existing contact
Νέα επαφή
Επεξεργασία επαφής
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index dca32b94..d646b479 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -15,6 +15,8 @@
Envoyer un e-mail au groupe
Call %s
Demander les autorisations requises
+ Create new contact
+ Add to an existing contact
Nouveau contact
Modifier contact
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 00c7183e..6f564596 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -15,6 +15,8 @@
Pošalji e-poštu grupi
Nazovi %s
Zatraži potrebna dopuštenja
+ Create new contact
+ Add to an existing contact
Novi kontakt
Uredi kontakt
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 504bfc7b..ee37c62a 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -15,6 +15,8 @@
グループにメールを送信
Call %s
Request the required permissions
+ Create new contact
+ Add to an existing contact
新しい連絡先
連絡先を編集
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index 60867b85..fa4c5d54 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -15,6 +15,8 @@
Send email to group
Call %s
Request the required permissions
+ Create new contact
+ Add to an existing contact
새로운 연락처
연락처 수정
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index cd643243..c16881d5 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -15,6 +15,8 @@
Send email to group
Call %s
Request the required permissions
+ Create new contact
+ Add to an existing contact
Naujas kontaktas
Redaguoti kontaktą
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index c6696378..0c72f160 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -15,6 +15,8 @@
Enviar e-mail para o grupo
Ligar a %s
Pedir a permissão necessária
+ Create new contact
+ Add to an existing contact
Novo contacto
Editar contacto
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a9987c6c..dd978592 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -15,6 +15,8 @@
Отправить письмо группе
Вызов %s
Запрос необходимых разрешений
+ Create new contact
+ Add to an existing contact
Новый контакт
Редактировать контакт
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index c8cce6c5..8c738576 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -15,6 +15,8 @@
Poslať skupine email
Zavolať %s
Vyžiadať potrebné oprávnenia
+ Vytvoriť nový kontakt
+ Pridať k existujúcemu kontaktu
Nový kontakt
Upraviť kontakt
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 45469d81..0fb23153 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -15,6 +15,8 @@
Skicka e-post till grupp
Ring %s
Begär de behörigheter som krävs
+ Create new contact
+ Add to an existing contact
Ny kontakt
Redigera kontakt
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index c2fc8d90..710fa376 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -15,6 +15,8 @@
Gruba e-posta gönder
Call %s
Request the required permissions
+ Create new contact
+ Add to an existing contact
Yeni kişi
Kişiyi düzenle
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index d2deece6..af88bce6 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -15,6 +15,8 @@
發送電子郵件給群組
打電話給 %s
請求必要的權限
+ Create new contact
+ Add to an existing contact
新聯絡人
編輯聯絡人
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 56d5d4fc..e72744fc 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -4,6 +4,7 @@
45dp
40dp
52dp
+ 68dp
60dp
44sp
40sp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ebb5d39a..2ec0cd04 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -15,6 +15,8 @@
Send email to group
Call %s
Request the required permissions
+ Create new contact
+ Add to an existing contact
New contact
Edit contact
From a7b79f89ed90f7c1daf23bbb37a59d4942439447 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 14:47:28 +0200
Subject: [PATCH 32/64] add a label at the insert_or_edit activity
---
.../activities/InsertOrEditContactActivity.kt | 7 +++++--
.../main/res/layout/activity_insert_edit_contact.xml | 12 ++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 7feea511..9e5bc8d9 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -3,6 +3,7 @@ package com.simplemobiletools.contacts.activities
import android.content.Intent
import android.os.Bundle
import android.provider.ContactsContract
+import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.extensions.updateTextColors
@@ -17,15 +18,15 @@ class InsertOrEditContactActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_insert_edit_contact)
title = getString(R.string.select_contact)
- updateTextColors(insert_edit_contact_holder)
+ setupViews()
handlePermission(PERMISSION_READ_CONTACTS) {
// we do not really care about the permission request result. Even if it was denied, load private contacts
- setupViews()
}
}
private fun setupViews() {
+ updateTextColors(insert_edit_contact_holder)
new_contact_tmb.setImageDrawable(resources.getColoredDrawableWithColor(R.drawable.ic_new_contact, config.textColor))
new_contact_holder.setOnClickListener {
Intent().apply {
@@ -39,5 +40,7 @@ class InsertOrEditContactActivity : SimpleActivity() {
}
}
}
+
+ existing_contact_label.setTextColor(getAdjustedPrimaryColor())
}
}
diff --git a/app/src/main/res/layout/activity_insert_edit_contact.xml b/app/src/main/res/layout/activity_insert_edit_contact.xml
index d98b8d7e..ad3769dd 100644
--- a/app/src/main/res/layout/activity_insert_edit_contact.xml
+++ b/app/src/main/res/layout/activity_insert_edit_contact.xml
@@ -33,4 +33,16 @@
android:textSize="@dimen/big_text_size"/>
+
+
+
From 78240eeb2b5c251b82873b1df4f7f3ced52db276 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 15:28:47 +0200
Subject: [PATCH 33/64] fill the list of contacts at insert_or_edit
---
.../activities/InsertOrEditContactActivity.kt | 26 +++++++++++++++++++
.../contacts/adapters/ContactsAdapter.kt | 3 ++-
.../contacts/helpers/Constants.kt | 1 +
.../layout/activity_insert_edit_contact.xml | 24 +++++++++++++++++
4 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 9e5bc8d9..610f84b3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -9,8 +9,12 @@ import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.adapters.ContactsAdapter
import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.helpers.KEY_PHONE
+import com.simplemobiletools.contacts.helpers.LOCATION_INSERT_OR_EDIT
+import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_insert_edit_contact.*
class InsertOrEditContactActivity : SimpleActivity() {
@@ -22,6 +26,9 @@ class InsertOrEditContactActivity : SimpleActivity() {
handlePermission(PERMISSION_READ_CONTACTS) {
// we do not really care about the permission request result. Even if it was denied, load private contacts
+ ContactsHelper(this).getContacts {
+ gotContacts(it)
+ }
}
}
@@ -43,4 +50,23 @@ class InsertOrEditContactActivity : SimpleActivity() {
existing_contact_label.setTextColor(getAdjustedPrimaryColor())
}
+
+ private fun gotContacts(contacts: ArrayList) {
+ Contact.sorting = config.sorting
+ Contact.startWithSurname = config.startNameWithSurname
+ contacts.sort()
+
+ ContactsAdapter(this, contacts, null, LOCATION_INSERT_OR_EDIT, null, existing_contact_list, existing_contact_fastscroller) {
+
+ }.apply {
+ addVerticalDividers(true)
+ existing_contact_list.adapter = this
+ }
+
+ existing_contact_fastscroller.setScrollToY(0)
+ existing_contact_fastscroller.setViews(existing_contact_list) {
+ val item = (existing_contact_list.adapter as ContactsAdapter).contactItems.getOrNull(it)
+ existing_contact_fastscroller.updateBubbleText(item?.getBubbleText() ?: "")
+ }
+ }
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
index 867a8771..4372437e 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/adapters/ContactsAdapter.kt
@@ -107,7 +107,8 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList
+ val allowLongClick = location != LOCATION_INSERT_OR_EDIT
+ val view = holder.bindView(contact, true, allowLongClick) { itemView, layoutPosition ->
setupView(itemView, contact)
}
bindViewHolder(holder, position, view)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
index d3b7fb06..58f5d9fa 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
@@ -34,6 +34,7 @@ const val LOCATION_RECENTS_TAB = 2
const val LOCATION_GROUPS_TAB = 3
const val LOCATION_GROUP_CONTACTS = 4
const val LOCATION_DIALPAD = 5
+const val LOCATION_INSERT_OR_EDIT = 6
const val CONTACTS_TAB_MASK = 1
const val FAVORITES_TAB_MASK = 2
diff --git a/app/src/main/res/layout/activity_insert_edit_contact.xml b/app/src/main/res/layout/activity_insert_edit_contact.xml
index ad3769dd..50edfe57 100644
--- a/app/src/main/res/layout/activity_insert_edit_contact.xml
+++ b/app/src/main/res/layout/activity_insert_edit_contact.xml
@@ -1,6 +1,7 @@
@@ -41,8 +42,31 @@
android:layout_below="@+id/new_contact_holder"
android:layout_marginStart="@dimen/bigger_margin"
android:layout_marginLeft="@dimen/bigger_margin"
+ android:layout_marginBottom="@dimen/activity_margin"
android:text="@string/add_to_existing_contact"
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size"/>
+
+
+
+
+
+
+
From 5e5de8b90aae0f6eb6f805cef33a0e3a4413642c Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 23:02:23 +0200
Subject: [PATCH 34/64] fix #166, properly handle intents adding numbers to
existing contacts
---
.../contacts/activities/EditContactActivity.kt | 6 +++---
.../contacts/activities/InsertOrEditContactActivity.kt | 9 ++++++++-
.../com/simplemobiletools/contacts/helpers/Constants.kt | 1 +
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
index 26b9e96a..b0156746 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -58,7 +58,7 @@ class EditContactActivity : ContactActivity() {
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cross)
val action = intent.action
- isThirdPartyIntent = action == Intent.ACTION_EDIT || action == Intent.ACTION_INSERT
+ isThirdPartyIntent = action == Intent.ACTION_EDIT || action == Intent.ACTION_INSERT || action == ADD_NEW_CONTACT_NUMBER
val isFromSimpleContacts = intent.getBooleanExtra(IS_FROM_SIMPLE_CONTACTS, false)
if (isThirdPartyIntent && !isFromSimpleContacts) {
handlePermission(PERMISSION_READ_CONTACTS) {
@@ -119,7 +119,7 @@ class EditContactActivity : ContactActivity() {
private fun initContact() {
var contactId = intent.getIntExtra(CONTACT_ID, 0)
val action = intent.action
- if (contactId == 0 && action == Intent.ACTION_EDIT) {
+ if (contactId == 0 && (action == Intent.ACTION_EDIT || action == ADD_NEW_CONTACT_NUMBER)) {
val data = intent.data
if (data != null) {
val rawId = if (data.path.contains("lookup")) {
@@ -149,7 +149,7 @@ class EditContactActivity : ContactActivity() {
setupEditContact()
}
- if (contact!!.id == 0 && intent.extras?.containsKey(KEY_PHONE) == true && action == Intent.ACTION_INSERT) {
+ if ((contact!!.id == 0 && intent.extras?.containsKey(KEY_PHONE) == true && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) {
val phoneNumber = intent.extras.get(KEY_PHONE)?.toString() ?: ""
contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, ""))
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 610f84b3..46b1131f 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -11,6 +11,8 @@ import com.simplemobiletools.commons.helpers.PERMISSION_READ_CONTACTS
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.adapters.ContactsAdapter
import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.extensions.getContactPublicUri
+import com.simplemobiletools.contacts.helpers.ADD_NEW_CONTACT_NUMBER
import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.helpers.KEY_PHONE
import com.simplemobiletools.contacts.helpers.LOCATION_INSERT_OR_EDIT
@@ -57,7 +59,12 @@ class InsertOrEditContactActivity : SimpleActivity() {
contacts.sort()
ContactsAdapter(this, contacts, null, LOCATION_INSERT_OR_EDIT, null, existing_contact_list, existing_contact_fastscroller) {
-
+ Intent(applicationContext, EditContactActivity::class.java).apply {
+ data = getContactPublicUri(it as Contact)
+ action = ADD_NEW_CONTACT_NUMBER
+ putExtra(KEY_PHONE, intent.getStringExtra(KEY_PHONE))
+ startActivity(this)
+ }
}.apply {
addVerticalDividers(true)
existing_contact_list.adapter = this
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
index 58f5d9fa..936744bc 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
@@ -23,6 +23,7 @@ const val GROUP = "group"
const val FIRST_GROUP_ID = 10000
const val PHONE_NUMBER_PATTERN = "\\D+"
const val IS_FROM_SIMPLE_CONTACTS = "is_from_simple_contacts"
+const val ADD_NEW_CONTACT_NUMBER = "add_new_contact_number"
// extras used at third party intents
const val KEY_PHONE = "phone"
From 4b645b70b3495c7bcef8adb700687f846fe7b1d3 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 23:27:42 +0200
Subject: [PATCH 35/64] close the contact picker after successfull insert or
edit
---
.../contacts/activities/EditContactActivity.kt | 3 +++
.../activities/InsertOrEditContactActivity.kt | 15 +++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
index b0156746..3a496137 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -1,5 +1,6 @@
package com.simplemobiletools.contacts.activities
+import android.app.Activity
import android.app.DatePickerDialog
import android.content.ClipData
import android.content.ContentValues
@@ -938,6 +939,7 @@ class EditContactActivity : ContactActivity() {
contact!!.source = originalContactSource
ContactsHelper(this).deleteContact(contact!!)
}
+ setResult(Activity.RESULT_OK)
finish()
} else {
toast(R.string.unknown_error_occurred)
@@ -947,6 +949,7 @@ class EditContactActivity : ContactActivity() {
private fun updateContact(photoUpdateStatus: Int) {
isSaving = true
if (ContactsHelper(this@EditContactActivity).updateContact(contact!!, photoUpdateStatus)) {
+ setResult(Activity.RESULT_OK)
finish()
} else {
toast(R.string.unknown_error_occurred)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
index 46b1131f..16430225 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/InsertOrEditContactActivity.kt
@@ -1,5 +1,6 @@
package com.simplemobiletools.contacts.activities
+import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.provider.ContactsContract
@@ -20,6 +21,9 @@ import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.activity_insert_edit_contact.*
class InsertOrEditContactActivity : SimpleActivity() {
+ private val START_INSERT_ACTIVITY = 1
+ private val START_EDIT_ACTIVITY = 2
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_insert_edit_contact)
@@ -43,7 +47,7 @@ class InsertOrEditContactActivity : SimpleActivity() {
data = ContactsContract.Contacts.CONTENT_URI
putExtra(KEY_PHONE, intent.getStringExtra(KEY_PHONE))
if (resolveActivity(packageManager) != null) {
- startActivity(this)
+ startActivityForResult(this, START_INSERT_ACTIVITY)
} else {
toast(R.string.no_app_found)
}
@@ -63,7 +67,7 @@ class InsertOrEditContactActivity : SimpleActivity() {
data = getContactPublicUri(it as Contact)
action = ADD_NEW_CONTACT_NUMBER
putExtra(KEY_PHONE, intent.getStringExtra(KEY_PHONE))
- startActivity(this)
+ startActivityForResult(this, START_EDIT_ACTIVITY)
}
}.apply {
addVerticalDividers(true)
@@ -76,4 +80,11 @@ class InsertOrEditContactActivity : SimpleActivity() {
existing_contact_fastscroller.updateBubbleText(item?.getBubbleText() ?: "")
}
}
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
+ super.onActivityResult(requestCode, resultCode, resultData)
+ if (resultCode == Activity.RESULT_OK) {
+ finish()
+ }
+ }
}
From 5a9513b75d81c77e86fa3d0d7e241ed3b23dd052 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Wed, 26 Sep 2018 23:45:27 +0200
Subject: [PATCH 36/64] add haptic feedback to dialpad buttons
---
.../contacts/activities/DialpadActivity.kt | 38 +++++++++----------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index f182912e..25b6fc60 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -8,10 +8,8 @@ import android.text.InputType
import android.view.KeyEvent
import android.view.Menu
import android.view.MenuItem
-import com.simplemobiletools.commons.extensions.applyColorFilter
-import com.simplemobiletools.commons.extensions.toast
-import com.simplemobiletools.commons.extensions.updateTextColors
-import com.simplemobiletools.commons.extensions.value
+import android.view.View
+import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.adapters.ContactsAdapter
@@ -30,19 +28,19 @@ class DialpadActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dialpad)
- dialpad_0.setOnClickListener { dialpadPressed("0") }
- dialpad_1.setOnClickListener { dialpadPressed("1") }
- dialpad_2.setOnClickListener { dialpadPressed("2") }
- dialpad_3.setOnClickListener { dialpadPressed("3") }
- dialpad_4.setOnClickListener { dialpadPressed("4") }
- dialpad_5.setOnClickListener { dialpadPressed("5") }
- dialpad_6.setOnClickListener { dialpadPressed("6") }
- dialpad_7.setOnClickListener { dialpadPressed("7") }
- dialpad_8.setOnClickListener { dialpadPressed("8") }
- dialpad_9.setOnClickListener { dialpadPressed("9") }
- dialpad_asterisk.setOnClickListener { dialpadPressed("*") }
- dialpad_hashtag.setOnClickListener { dialpadPressed("#") }
- dialpad_clear_char.setOnClickListener { clearChar() }
+ dialpad_0.setOnClickListener { dialpadPressed("0", it) }
+ dialpad_1.setOnClickListener { dialpadPressed("1", it) }
+ dialpad_2.setOnClickListener { dialpadPressed("2", it) }
+ dialpad_3.setOnClickListener { dialpadPressed("3", it) }
+ dialpad_4.setOnClickListener { dialpadPressed("4", it) }
+ dialpad_5.setOnClickListener { dialpadPressed("5", it) }
+ dialpad_6.setOnClickListener { dialpadPressed("6", it) }
+ dialpad_7.setOnClickListener { dialpadPressed("7", it) }
+ dialpad_8.setOnClickListener { dialpadPressed("8", it) }
+ dialpad_9.setOnClickListener { dialpadPressed("9", it) }
+ dialpad_asterisk.setOnClickListener { dialpadPressed("*", it) }
+ dialpad_hashtag.setOnClickListener { dialpadPressed("#", it) }
+ dialpad_clear_char.setOnClickListener { clearChar(it) }
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
dialpad_input.afterTextChanged { dialpadValueChanged(it) }
ContactsHelper(this).getContacts { gotContacts(it) }
@@ -81,12 +79,14 @@ class DialpadActivity : SimpleActivity() {
}
}
- private fun dialpadPressed(char: String) {
+ private fun dialpadPressed(char: String, view: View) {
dialpad_input.dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
+ view.performHapticFeedback()
}
- private fun clearChar() {
+ private fun clearChar(view: View) {
dialpad_input.dispatchKeyEvent(getKeyEvent(KeyEvent.KEYCODE_DEL))
+ view.performHapticFeedback()
}
private fun clearInput() {
From 11349a3112a6383f8bd6d14368aa90c2240ef2fd Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 10:32:28 +0200
Subject: [PATCH 37/64] highlight new phone number at adding it to an existing
contact
---
.../contacts/activities/EditContactActivity.kt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
index 3a496137..2e14cba5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -14,6 +14,7 @@ import android.view.Menu
import android.view.MenuItem
import android.view.ViewGroup
import android.view.WindowManager
+import android.widget.EditText
import android.widget.ImageView
import android.widget.TextView
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
@@ -51,6 +52,8 @@ class EditContactActivity : ContactActivity() {
private var lastPhotoIntentUri: Uri? = null
private var isSaving = false
private var isThirdPartyIntent = false
+ private var highlightLastPhoneNumber = false
+ private var numberViewToColor: EditText? = null
private var originalContactSource = ""
override fun onCreate(savedInstanceState: Bundle?) {
@@ -153,6 +156,9 @@ class EditContactActivity : ContactActivity() {
if ((contact!!.id == 0 && intent.extras?.containsKey(KEY_PHONE) == true && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) {
val phoneNumber = intent.extras.get(KEY_PHONE)?.toString() ?: ""
contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, ""))
+ if (phoneNumber.isNotEmpty() && action == ADD_NEW_CONTACT_NUMBER) {
+ highlightLastPhoneNumber = true
+ }
contact!!.firstName = intent.extras.get(KEY_NAME)?.toString() ?: ""
@@ -231,6 +237,7 @@ class EditContactActivity : ContactActivity() {
}
updateTextColors(contact_scrollview)
+ numberViewToColor?.setTextColor(getAdjustedPrimaryColor())
wasActivityInitialized = true
invalidateOptionsMenu()
}
@@ -374,6 +381,9 @@ class EditContactActivity : ContactActivity() {
numberHolder!!.apply {
contact_number.setText(number.value)
setupPhoneNumberTypePicker(contact_number_type, number.type, number.label)
+ if (highlightLastPhoneNumber && index == contact!!.phoneNumbers.size - 1) {
+ numberViewToColor = contact_number
+ }
}
}
}
From 12c5f520925bce0f78c567d5c1a39ace8799f06f Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 12:16:39 +0200
Subject: [PATCH 38/64] fix #254, if there is no N and ORG fields at the given
contact, only FN, treat it as an organization
---
.../com/simplemobiletools/contacts/helpers/VcfImporter.kt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt
index f186505b..9cc27af8 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt
@@ -138,6 +138,11 @@ class VcfImporter(val activity: SimpleActivity) {
val contact = Contact(0, prefix, firstName, middleName, surname, suffix, nickname, photoUri, phoneNumbers, emails, addresses, events,
targetContactSource, starred, contactId, thumbnailUri, photo, notes, groups, organization, websites, cleanPhoneNumbers, IMs)
+ // if there is no N and ORG fields at the given contact, only FN, treat it as an organization
+ if (contact.getFullName().isEmpty() && contact.organization.isEmpty() && ezContact.formattedName.value.isNotEmpty()) {
+ contact.organization.company = ezContact.formattedName.value
+ }
+
if (ContactsHelper(activity).insertContact(contact)) {
contactsImported++
}
From 02002297c0fd487eafce69874c1c39fcbb3f0b9b Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 12:19:40 +0200
Subject: [PATCH 39/64] fix #250, allow copying phone number to clipboard by
long pressing it
Works at the View contact screen only
---
.../contacts/activities/ViewContactActivity.kt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt
index 886d86c5..a7995535 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt
@@ -235,6 +235,12 @@ class ViewContactActivity : ContactActivity() {
startCallIntent(phoneNumber.value)
}
}
+
+ setOnLongClickListener {
+ copyToClipboard(phoneNumber.value)
+ toast(R.string.value_copied_to_clipboard)
+ true
+ }
}
}
contact_numbers_image.beVisible()
From 15f09bd52a6e4bb7dd6a3269fc1b3c90b9b89806 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 13:42:07 +0200
Subject: [PATCH 40/64] increase list item heights if phone number is shown
---
app/src/main/res/layout/item_contact_with_number.xml | 9 +++++----
app/src/main/res/layout/item_recent_call.xml | 7 ++++---
app/src/main/res/values/dimens.xml | 1 +
3 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/app/src/main/res/layout/item_contact_with_number.xml b/app/src/main/res/layout/item_contact_with_number.xml
index e08b13ee..4ecf2645 100644
--- a/app/src/main/res/layout/item_contact_with_number.xml
+++ b/app/src/main/res/layout/item_contact_with_number.xml
@@ -13,13 +13,14 @@
@@ -31,15 +32,15 @@
android:layout_toRightOf="@+id/contact_tmb"
android:ellipsize="end"
android:maxLines="1"
- android:textSize="@dimen/bigger_text_size"
+ android:textSize="@dimen/big_text_size"
tools:text="John Doe"/>
45dp
40dp
52dp
+ 56dp
68dp
60dp
44sp
From d35c0af68afec055f7a57f57431470489ff44562 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 13:50:25 +0200
Subject: [PATCH 41/64] add a screen divider line at the dialpad
---
app/src/main/res/layout/activity_dialpad.xml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index a9b6535a..a0b899c9 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -36,6 +36,13 @@
+
+
Date: Thu, 27 Sep 2018 13:51:02 +0200
Subject: [PATCH 42/64] make the dialpad buttons smaller
---
app/src/main/res/values/dimens.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index eb64d7a4..29c380b7 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -7,6 +7,6 @@
56dp
68dp
60dp
- 44sp
+ 34sp
40sp
From 26061d8827ec4c6d87e3fef5b839f97deba92225 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 13:55:00 +0200
Subject: [PATCH 43/64] change the menu button text at the dialpad
---
.../simplemobiletools/contacts/activities/DialpadActivity.kt | 4 ++--
app/src/main/res/menu/menu_dialpad.xml | 4 ++--
app/src/main/res/values-az/strings.xml | 2 +-
app/src/main/res/values-de/strings.xml | 2 +-
app/src/main/res/values-el/strings.xml | 2 +-
app/src/main/res/values-fr/strings.xml | 2 +-
app/src/main/res/values-hr/strings.xml | 2 +-
app/src/main/res/values-ja/strings.xml | 2 +-
app/src/main/res/values-ko-rKR/strings.xml | 2 +-
app/src/main/res/values-lt/strings.xml | 2 +-
app/src/main/res/values-pt/strings.xml | 2 +-
app/src/main/res/values-ru/strings.xml | 2 +-
app/src/main/res/values-sk/strings.xml | 2 +-
app/src/main/res/values-sv/strings.xml | 2 +-
app/src/main/res/values-tr/strings.xml | 2 +-
app/src/main/res/values-zh-rTW/strings.xml | 2 +-
app/src/main/res/values/strings.xml | 2 +-
17 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 25b6fc60..b21abeeb 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -60,13 +60,13 @@ class DialpadActivity : SimpleActivity() {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
- R.id.create_new_contact -> createNewContact()
+ R.id.add_number_to_contact -> addNumberToContact()
else -> return super.onOptionsItemSelected(item)
}
return true
}
- private fun createNewContact() {
+ private fun addNumberToContact() {
Intent().apply {
action = Intent.ACTION_INSERT_OR_EDIT
type = "vnd.android.cursor.item/contact"
diff --git a/app/src/main/res/menu/menu_dialpad.xml b/app/src/main/res/menu/menu_dialpad.xml
index 8a1ab41d..66fa1d06 100644
--- a/app/src/main/res/menu/menu_dialpad.xml
+++ b/app/src/main/res/menu/menu_dialpad.xml
@@ -2,8 +2,8 @@
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 650b76f5..8f2f3892 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Göstərmək üçün sahəni seç
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 041a1687..ec3adbe4 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Sichtbare Felder auswählen
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 0a3751f8..b548d329 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Επιλογή εμφάνισης πεδίων
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index d646b479..b3dc4634 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Sélectionner les champs à afficher
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 6f564596..d5c8544e 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Odaberi polja za prikaz
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index ee37c62a..e87a4211 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -99,7 +99,7 @@
ダイヤルパッド
- 番号から新しい連絡先を作成
+ Add number to contact
表示する項目を選択
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index fa4c5d54..4c7bbb68 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Select fields to show
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index c16881d5..e99c1beb 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Pasirinkti rodomus laukelius
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 0c72f160..de97bde8 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Selecione os campos a mostrar
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index dd978592..cd412417 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Выберите отображаемые поля
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 8c738576..ac542986 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -99,7 +99,7 @@
Číselník
- Vytvoriť nový kontakt z čísla
+ Pridať číslo kontaktu
Zvoľte polia na zobrazenie
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 0fb23153..b2198c6e 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Välj vilka fält som ska visas
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 710fa376..583219d7 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Görüntülenecek alanları seç
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index af88bce6..1fe54476 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
選擇要顯示的欄位
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2ec0cd04..53be90a2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -99,7 +99,7 @@
Dialpad
- Create new contact from number
+ Add number to contact
Select fields to show
From 2f59a847484ed09f2a3745078502ef79c79d6585 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 14:00:55 +0200
Subject: [PATCH 44/64] avoid some null extras at third party intents
---
.../contacts/activities/EditContactActivity.kt | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
index 2e14cba5..385f155a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -153,14 +153,20 @@ class EditContactActivity : ContactActivity() {
setupEditContact()
}
- if ((contact!!.id == 0 && intent.extras?.containsKey(KEY_PHONE) == true && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) {
- val phoneNumber = intent.extras.get(KEY_PHONE)?.toString() ?: ""
- contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, ""))
- if (phoneNumber.isNotEmpty() && action == ADD_NEW_CONTACT_NUMBER) {
- highlightLastPhoneNumber = true
+ if ((contact!!.id == 0 && intent.extras != null && intent.extras.containsKey(KEY_PHONE) && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) {
+ val phone = intent.extras.get(KEY_PHONE)
+ if (phone != null) {
+ val phoneNumber = phone.toString()
+ contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, ""))
+ if (phoneNumber.isNotEmpty() && action == ADD_NEW_CONTACT_NUMBER) {
+ highlightLastPhoneNumber = true
+ }
}
- contact!!.firstName = intent.extras.get(KEY_NAME)?.toString() ?: ""
+ val firstName = intent.extras.get(KEY_NAME)
+ if (firstName != null) {
+ contact!!.firstName = firstName.toString()
+ }
val data = intent.extras.getParcelableArrayList("data")
if (data != null) {
From d0ef3368f545f43ac0c9e82157a0bb942979f9a4 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 14:28:25 +0200
Subject: [PATCH 45/64] make the dialpad input text the same size as the
buttons
---
app/src/main/res/layout/activity_dialpad.xml | 2 +-
app/src/main/res/values/dimens.xml | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index a0b899c9..acae2500 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -51,7 +51,7 @@
android:gravity="center"
android:inputType="phone"
android:textCursorDrawable="@null"
- android:textSize="@dimen/dialpad_input_text_size"
+ android:textSize="@dimen/dialpad_text_size"
app:layout_constraintBottom_toTopOf="@+id/dialpad_2"
app:layout_constraintEnd_toStartOf="@+id/dialpad_clear_char"
app:layout_constraintStart_toStartOf="parent"/>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 29c380b7..b0496177 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -8,5 +8,4 @@
68dp
60dp
34sp
- 40sp
From 51b953f8163c0aaa15e1584f193b1d08ceb9ee7b Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 14:39:26 +0200
Subject: [PATCH 46/64] reduce the padding of dialpad buttons
---
app/src/main/res/values/styles.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index dd117a86..b7e0377a 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -4,8 +4,8 @@
From cacbbcedc18277dc730931b5b1e6e1d927c2a8b7 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 14:49:31 +0200
Subject: [PATCH 47/64] replace the phone icon with a dialpad for getting to
the dialpad
---
.../contacts/activities/MainActivity.kt | 2 +-
app/src/main/res/drawable-hdpi/ic_dialpad.png | Bin 0 -> 186 bytes
app/src/main/res/drawable-xhdpi/ic_dialpad.png | Bin 0 -> 184 bytes
app/src/main/res/drawable-xxhdpi/ic_dialpad.png | Bin 0 -> 250 bytes
app/src/main/res/drawable-xxxhdpi/ic_dialpad.png | Bin 0 -> 336 bytes
app/src/main/res/layout/activity_main.xml | 4 ++--
6 files changed, 3 insertions(+), 3 deletions(-)
create mode 100644 app/src/main/res/drawable-hdpi/ic_dialpad.png
create mode 100644 app/src/main/res/drawable-xhdpi/ic_dialpad.png
create mode 100644 app/src/main/res/drawable-xxhdpi/ic_dialpad.png
create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_dialpad.png
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
index 17b430e7..5f7f05c3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
@@ -165,7 +165,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener {
}
isFirstResume = false
- val blackIcon = resources.getColoredDrawableWithColor(R.drawable.ic_phone_big, if (isBlackAndWhiteTheme()) Color.BLACK else Color.WHITE)
+ val blackIcon = resources.getColoredDrawableWithColor(R.drawable.ic_dialpad, if (isBlackAndWhiteTheme()) Color.BLACK else Color.WHITE)
main_dialpad_button.setImageDrawable(blackIcon)
main_dialpad_button.background.applyColorFilter(getAdjustedPrimaryColor())
}
diff --git a/app/src/main/res/drawable-hdpi/ic_dialpad.png b/app/src/main/res/drawable-hdpi/ic_dialpad.png
new file mode 100644
index 0000000000000000000000000000000000000000..f600b5b7b6127d857438cfdd785ae9b7eef67579
GIT binary patch
literal 186
zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB8a-VcLn;{GUfC#k$U%U`ancVB
zhf2?tT%R5oPq@kQ;hbf($kDB~-|p0Lv6a1%Xk5l8t;V3X%^|pX`Bm);R~~HI#pKKD
zx7rxU>@#OjlLIPXX6Ne(xm?v_drU65-*D+yiE1$O^cmyzc6;~yve~}?M1A@6>hkH|
cr(f1GI2tv)`}8;S0?;uGp00i_>zopr0DIs|u>b%7
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable-xhdpi/ic_dialpad.png b/app/src/main/res/drawable-xhdpi/ic_dialpad.png
new file mode 100644
index 0000000000000000000000000000000000000000..793da560dce610bb80c1e7dddcf0009798352967
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DdQTU}kP61PR~XqE97J3%ZWHi&
zyKh@SRFLp0(>n(Y4t#GhxyNX8;Q9S!ZaiyZV%G3{l3T1iQFhBOxr9X~ud5p-Ut0N|
zvCM1tp8EPl^IWFA_+oqH#Idty5B*3p-+n^3sQZpmF%WM*k(E8gFJp>dy~ErK8gnnK
isGsYR(Rc1_C4=og+vmm>d0T-_VeoYIb6Mw<&;$Sx5lmPB
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable-xxhdpi/ic_dialpad.png b/app/src/main/res/drawable-xxhdpi/ic_dialpad.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f6bf85670e14c3918c760388708570d1c2ca252
GIT binary patch
literal 250
zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhaw4tlychEy=Vy=KVO>>$DVFypc0
zqmPp=6(3V!7tlWFJfrGTSI*`SToZr3y8iZ%{dR9bS!QkqZsyp!;8ttnYUA3f;Knv_
z_xxFJmND^r&AaK#YB!~3^K7m^8aFr1=E|9pv+^wKyf-EDccnhbSkjyO>Z0*R^NY{T
zzb;Q^O-NnPoy(*W*(0|2Xog`Fh|)Njv_(SKt@|Q~I+i_Q&8Z0~p=~Owja14ToQpbz
vCapd-AtLlw%JN@V8l`-^t|!bhU15K{sP#eil2=cGo?-BG^>bP0l+XkK2Fqyc
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_dialpad.png b/app/src/main/res/drawable-xxxhdpi/ic_dialpad.png
new file mode 100644
index 0000000000000000000000000000000000000000..7754a7c9942de820f386531f3cc2b2062b98d8fc
GIT binary patch
literal 336
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z$otN;uuoF_~zP1-ew0Lw}&Mr
z+nJUmy3AlSbdq3l<4`V`t*}HxbdQOql4`o^rXQ<+zY34qrXM-&Z~LTaGpA0SIW6eE
zwZIIEA0-BYDtqNwC&nwaF8H3TkQ(rn@5-AcZ?4R`*U0C+{H1Kf1{dG=2ZT>MU$)+m
zc+>CwXO6ECRgUiuUyUiAy5RdGw^Ir){%S<@1na-J%h3~m{+frtx4ICM_vPRHoWEur
z=gS4USfK6if75WC8Gg!vweM9uA34Qza2G1-9ckSmAP(htPC~HZ5+0M5+?)7I$^F%9
z*_G?dm+S*_s(>891wc-H
+ android:padding="@dimen/activity_margin"
+ android:src="@drawable/ic_dialpad"/>
From d024bc7551a582256e739eaebf840d4834e8a7c6 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 15:09:01 +0200
Subject: [PATCH 48/64] add a Call button at the dialpad activity
---
.../contacts/activities/DialpadActivity.kt | 16 +++++++++++++
app/src/main/res/layout/activity_dialpad.xml | 24 +++++++++++++------
2 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index b21abeeb..251e1001 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -13,9 +13,11 @@ import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.contacts.R
import com.simplemobiletools.contacts.adapters.ContactsAdapter
+import com.simplemobiletools.contacts.dialogs.CallConfirmationDialog
import com.simplemobiletools.contacts.extensions.afterTextChanged
import com.simplemobiletools.contacts.extensions.callContact
import com.simplemobiletools.contacts.extensions.config
+import com.simplemobiletools.contacts.extensions.startCallIntent
import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.helpers.KEY_PHONE
import com.simplemobiletools.contacts.helpers.LOCATION_DIALPAD
@@ -42,6 +44,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_hashtag.setOnClickListener { dialpadPressed("#", it) }
dialpad_clear_char.setOnClickListener { clearChar(it) }
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
+ dialpad_call_button.setOnClickListener { initCall() }
dialpad_input.afterTextChanged { dialpadValueChanged(it) }
ContactsHelper(this).getContacts { gotContacts(it) }
disableKeyboardPopping()
@@ -143,4 +146,17 @@ class DialpadActivity : SimpleActivity() {
dialpad_fastscroller.updateBubbleText(item?.getBubbleText() ?: "")
}
}
+
+ private fun initCall() {
+ val number = dialpad_input.value
+ if (number.isNotEmpty()) {
+ if (config.showCallConfirmation) {
+ CallConfirmationDialog(this, number) {
+ startCallIntent(number)
+ }
+ } else {
+ startCallIntent(number)
+ }
+ }
+ }
}
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index acae2500..175b22f5 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -2,12 +2,10 @@
+ app:layout_constraintStart_toStartOf="parent"/>
@@ -205,9 +202,22 @@
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/activity_margin"
android:text="#"
- app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintBottom_toTopOf="@+id/dialpad_call_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/dialpad_0"/>
+
+
From 0ebe7bb286997cae3e42cc06fd525fbc7dc7f6b1 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Thu, 27 Sep 2018 15:18:23 +0200
Subject: [PATCH 49/64] treat long pressing the Zero at dialpad as Plus
---
.../contacts/activities/DialpadActivity.kt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 251e1001..233e02c8 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -40,6 +40,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_7.setOnClickListener { dialpadPressed("7", it) }
dialpad_8.setOnClickListener { dialpadPressed("8", it) }
dialpad_9.setOnClickListener { dialpadPressed("9", it) }
+ dialpad_0.setOnLongClickListener { dialpadPressed("+", null); true }
dialpad_asterisk.setOnClickListener { dialpadPressed("*", it) }
dialpad_hashtag.setOnClickListener { dialpadPressed("#", it) }
dialpad_clear_char.setOnClickListener { clearChar(it) }
@@ -82,9 +83,9 @@ class DialpadActivity : SimpleActivity() {
}
}
- private fun dialpadPressed(char: String, view: View) {
+ private fun dialpadPressed(char: String, view: View?) {
dialpad_input.dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
- view.performHapticFeedback()
+ view?.performHapticFeedback()
}
private fun clearChar(view: View) {
@@ -110,6 +111,7 @@ class DialpadActivity : SimpleActivity() {
"8" -> KeyEvent.KEYCODE_8
"9" -> KeyEvent.KEYCODE_9
"*" -> KeyEvent.KEYCODE_STAR
+ "+" -> KeyEvent.KEYCODE_PLUS
else -> KeyEvent.KEYCODE_POUND
}
From 446db13091946db437696a44013244743d9a4227 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 11:57:57 +0200
Subject: [PATCH 50/64] allow some other chars except digits at the regex
replacing
---
.../kotlin/com/simplemobiletools/contacts/helpers/Constants.kt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
index 936744bc..58309511 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt
@@ -21,7 +21,7 @@ const val SMT_PRIVATE = "smt_private" // used at the contact source of local c
const val IS_PRIVATE = "is_private"
const val GROUP = "group"
const val FIRST_GROUP_ID = 10000
-const val PHONE_NUMBER_PATTERN = "\\D+"
+const val PHONE_NUMBER_PATTERN = "[^0-9#*+]"
const val IS_FROM_SIMPLE_CONTACTS = "is_from_simple_contacts"
const val ADD_NEW_CONTACT_NUMBER = "add_new_contact_number"
From 27e1366339b4fb89e6074c8af7c9daba7a31f442 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 12:02:04 +0200
Subject: [PATCH 51/64] adding a helper extension for filtering phone numbers
---
.../com/simplemobiletools/contacts/extensions/String.kt | 3 +++
.../contacts/fragments/RecentsFragment.kt | 6 +++---
.../simplemobiletools/contacts/helpers/ContactsHelper.kt | 2 +-
.../com/simplemobiletools/contacts/helpers/DBHelper.kt | 3 ++-
.../com/simplemobiletools/contacts/models/Contact.kt | 8 ++++----
5 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/String.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/String.kt
index 6134b1ad..f6d41a2b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/String.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/String.kt
@@ -2,6 +2,7 @@ package com.simplemobiletools.contacts.extensions
import android.widget.TextView
import com.simplemobiletools.commons.helpers.getDateFormats
+import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
import org.joda.time.DateTime
import org.joda.time.format.DateTimeFormat
import java.text.DateFormat
@@ -32,3 +33,5 @@ fun String.getDateTimeFromDateString(viewToUpdate: TextView? = null): DateTime {
}
return date
}
+
+fun String.applyRegexFiltering() = replace(PHONE_NUMBER_PATTERN.toRegex(), "")
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt
index c1319997..d4b30ab9 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt
@@ -10,10 +10,10 @@ import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALL_LOG
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CALL_LOG
import com.simplemobiletools.contacts.activities.EditContactActivity
import com.simplemobiletools.contacts.adapters.RecentCallsAdapter
+import com.simplemobiletools.contacts.extensions.applyRegexFiltering
import com.simplemobiletools.contacts.extensions.contactClicked
import com.simplemobiletools.contacts.helpers.IS_FROM_SIMPLE_CONTACTS
import com.simplemobiletools.contacts.helpers.KEY_PHONE
-import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
import com.simplemobiletools.contacts.helpers.RECENTS_TAB_MASK
import com.simplemobiletools.contacts.models.Contact
import com.simplemobiletools.contacts.models.RecentCall
@@ -44,10 +44,10 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
val currAdapter = fragment_list.adapter
if (currAdapter == null) {
RecentCallsAdapter(activity!!, recentCalls, activity, fragment_list, fragment_fastscroller) {
- val recentCall = (it as RecentCall).number.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
+ val recentCall = (it as RecentCall).number.applyRegexFiltering()
var selectedContact: Contact? = null
for (contact in allContacts) {
- if (contact.phoneNumbers.any { it.value.replace(PHONE_NUMBER_PATTERN.toRegex(), "") == recentCall }) {
+ if (contact.phoneNumbers.any { it.value.applyRegexFiltering() == recentCall }) {
selectedContact = contact
break
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
index 090c2a07..88e3b7d7 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
@@ -166,7 +166,7 @@ class ContactsHelper(val activity: Activity) {
if (filterDuplicates) {
// remove all spaces, dashes etc from numbers for easier comparing, used only at list views
numbers.forEach {
- numbers.mapTo(contacts[key].cleanPhoneNumbers) { PhoneNumber(it.value.replace(PHONE_NUMBER_PATTERN.toRegex(), ""), 0, "") }
+ numbers.mapTo(contacts[key].cleanPhoneNumbers) { PhoneNumber(it.value.applyRegexFiltering(), 0, "") }
}
}
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/DBHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/DBHelper.kt
index 508a4c80..b73283c6 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/DBHelper.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/DBHelper.kt
@@ -16,6 +16,7 @@ import com.simplemobiletools.commons.extensions.getBlobValue
import com.simplemobiletools.commons.extensions.getIntValue
import com.simplemobiletools.commons.extensions.getLongValue
import com.simplemobiletools.commons.extensions.getStringValue
+import com.simplemobiletools.contacts.extensions.applyRegexFiltering
import com.simplemobiletools.contacts.extensions.config
import com.simplemobiletools.contacts.extensions.getByteArray
import com.simplemobiletools.contacts.extensions.getPhotoThumbnailSize
@@ -349,7 +350,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val cleanPhoneNumbers = ArrayList()
if (filterDuplicates) {
- phoneNumbers.mapTo(cleanPhoneNumbers) { PhoneNumber(it.value.replace(PHONE_NUMBER_PATTERN.toRegex(), ""), 0, "") }
+ phoneNumbers.mapTo(cleanPhoneNumbers) { PhoneNumber(it.value.applyRegexFiltering(), 0, "") }
}
val contact = Contact(id, prefix, firstName, middleName, surname, suffix, nickname, "", phoneNumbers, emails, addresses,
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
index e44dbd8a..c710d572 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/models/Contact.kt
@@ -5,7 +5,7 @@ import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME
import com.simplemobiletools.commons.helpers.SORT_BY_MIDDLE_NAME
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
-import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN
+import com.simplemobiletools.contacts.extensions.applyRegexFiltering
data class Contact(val id: Int, var prefix: String, var firstName: String, var middleName: String, var surname: String, var suffix: String, var nickname: String,
var photoUri: String, var phoneNumbers: ArrayList, var emails: ArrayList, var addresses: ArrayList,
@@ -114,9 +114,9 @@ data class Contact(val id: Int, var prefix: String, var firstName: String, var m
}
}
- val numericOnly = text.replace(PHONE_NUMBER_PATTERN.toRegex(), "")
- if (numericOnly.isNotEmpty()) {
- if (phoneNumbers.any { it.value.contains(numericOnly) } || cleanPhoneNumbers.any { it.value.contains(numericOnly) }) {
+ val filteredNumber = text.applyRegexFiltering()
+ if (filteredNumber.isNotEmpty()) {
+ if (phoneNumbers.any { it.value.contains(filteredNumber) } || cleanPhoneNumbers.any { it.value.contains(filteredNumber) }) {
return true
}
}
From 877fe454fa006fcc2ef55463758bc3eda5406d56 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 12:56:00 +0200
Subject: [PATCH 52/64] add a Plus sign to 0 at the dialpad
---
.../contacts/activities/DialpadActivity.kt | 4 +-
app/src/main/res/layout/activity_dialpad.xml | 39 +++++++++++++++----
2 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index 233e02c8..c90ae103 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -30,7 +30,7 @@ class DialpadActivity : SimpleActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_dialpad)
- dialpad_0.setOnClickListener { dialpadPressed("0", it) }
+ dialpad_0_holder.setOnClickListener { dialpadPressed("0", it) }
dialpad_1.setOnClickListener { dialpadPressed("1", it) }
dialpad_2.setOnClickListener { dialpadPressed("2", it) }
dialpad_3.setOnClickListener { dialpadPressed("3", it) }
@@ -40,7 +40,7 @@ class DialpadActivity : SimpleActivity() {
dialpad_7.setOnClickListener { dialpadPressed("7", it) }
dialpad_8.setOnClickListener { dialpadPressed("8", it) }
dialpad_9.setOnClickListener { dialpadPressed("9", it) }
- dialpad_0.setOnLongClickListener { dialpadPressed("+", null); true }
+ dialpad_0_holder.setOnLongClickListener { dialpadPressed("+", null); true }
dialpad_asterisk.setOnClickListener { dialpadPressed("*", it) }
dialpad_hashtag.setOnClickListener { dialpadPressed("#", it) }
dialpad_clear_char.setOnClickListener { clearChar(it) }
diff --git a/app/src/main/res/layout/activity_dialpad.xml b/app/src/main/res/layout/activity_dialpad.xml
index 175b22f5..6378918f 100644
--- a/app/src/main/res/layout/activity_dialpad.xml
+++ b/app/src/main/res/layout/activity_dialpad.xml
@@ -155,7 +155,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="8"
- app:layout_constraintBottom_toTopOf="@+id/dialpad_0"
+ app:layout_constraintBottom_toTopOf="@+id/dialpad_0_holder"
app:layout_constraintEnd_toStartOf="@+id/dialpad_9"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/dialpad_7"/>
@@ -180,20 +180,43 @@
android:layout_marginLeft="@dimen/activity_margin"
android:text="*"
app:layout_constraintBottom_toTopOf="@+id/dialpad_call_button"
- app:layout_constraintEnd_toStartOf="@+id/dialpad_0"
+ app:layout_constraintEnd_toStartOf="@+id/dialpad_0_holder"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"/>
-
+ app:layout_constraintStart_toEndOf="@+id/dialpad_asterisk">
+
+
+
+
+
+
+ app:layout_constraintStart_toEndOf="@+id/dialpad_0_holder"/>
Date: Fri, 28 Sep 2018 12:59:36 +0200
Subject: [PATCH 53/64] make sure the dialpad Call button is properly colored
---
.../simplemobiletools/contacts/activities/DialpadActivity.kt | 5 +++++
.../simplemobiletools/contacts/activities/MainActivity.kt | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
index c90ae103..11a45b07 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/DialpadActivity.kt
@@ -2,6 +2,7 @@ package com.simplemobiletools.contacts.activities
import android.annotation.TargetApi
import android.content.Intent
+import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.text.InputType
@@ -49,6 +50,10 @@ class DialpadActivity : SimpleActivity() {
dialpad_input.afterTextChanged { dialpadValueChanged(it) }
ContactsHelper(this).getContacts { gotContacts(it) }
disableKeyboardPopping()
+
+ val callIcon = resources.getColoredDrawableWithColor(R.drawable.ic_phone_big, if (isBlackAndWhiteTheme()) Color.BLACK else Color.WHITE)
+ dialpad_call_button.setImageDrawable(callIcon)
+ dialpad_call_button.background.applyColorFilter(getAdjustedPrimaryColor())
}
override fun onResume() {
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
index 5f7f05c3..c98e60b1 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
@@ -165,8 +165,8 @@ class MainActivity : SimpleActivity(), RefreshContactsListener {
}
isFirstResume = false
- val blackIcon = resources.getColoredDrawableWithColor(R.drawable.ic_dialpad, if (isBlackAndWhiteTheme()) Color.BLACK else Color.WHITE)
- main_dialpad_button.setImageDrawable(blackIcon)
+ val dialpadIcon = resources.getColoredDrawableWithColor(R.drawable.ic_dialpad, if (isBlackAndWhiteTheme()) Color.BLACK else Color.WHITE)
+ main_dialpad_button.setImageDrawable(dialpadIcon)
main_dialpad_button.background.applyColorFilter(getAdjustedPrimaryColor())
}
From c17e7ff47e84316f36aed305d62fcb0e532020ea Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 14:42:15 +0200
Subject: [PATCH 54/64] do not allow creating contacts under Signal or Telegram
accounts
---
.../com/simplemobiletools/contacts/extensions/Activity.kt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
index b2adcb75..a61b26f2 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt
@@ -62,8 +62,13 @@ fun SimpleActivity.startCall(contact: Contact) {
fun SimpleActivity.showContactSourcePicker(currentSource: String, callback: (newSource: String) -> Unit) {
ContactsHelper(this).getContactSources {
+ val ignoredTypes = arrayListOf(
+ "org.thoughtcrime.securesms", // Signal
+ "org.telegram.messenger" // Telegram
+ )
+
val items = ArrayList()
- val sources = it.map { it.name }
+ val sources = it.filter { !ignoredTypes.contains(it.type) }.map { it.name }
var currentSourceIndex = -1
sources.forEachIndexed { index, account ->
var publicAccount = account
From c1ba8b0d1367b7f57898f9d9c1c1f4a987c533a0 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 15:13:11 +0200
Subject: [PATCH 55/64] update commons to 4.8.0
---
app/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 5f97607f..19b7c0ac 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -41,7 +41,7 @@ android {
}
dependencies {
- implementation 'com.simplemobiletools:commons:4.7.17'
+ implementation 'com.simplemobiletools:commons:4.8.0'
implementation 'joda-time:joda-time:2.9.9'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
From 98e527eba8de1f80f61fa89b383146715a95cc44 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 20:19:53 +0200
Subject: [PATCH 56/64] adding dialpad into release notes
---
.../com/simplemobiletools/contacts/activities/MainActivity.kt | 1 +
app/src/main/res/values/donottranslate.xml | 1 +
2 files changed, 2 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
index c98e60b1..0cb2281b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt
@@ -550,6 +550,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener {
add(Release(27, R.string.release_27))
add(Release(29, R.string.release_29))
add(Release(31, R.string.release_31))
+ add(Release(32, R.string.release_32))
checkWhatsNew(this, BuildConfig.VERSION_CODE)
}
}
diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml
index 59a112ff..c3d9f092 100644
--- a/app/src/main/res/values/donottranslate.xml
+++ b/app/src/main/res/values/donottranslate.xml
@@ -12,6 +12,7 @@
Jabber
+ Added a simple dialpad, dialer will come soon
Added an optional IM field\n
Added support for custom phone number/email/address types
From c0e1ad84db26ec5967ad0041c0386efefd6efaa8 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 20:21:35 +0200
Subject: [PATCH 57/64] update version to 4.5.0
---
app/build.gradle | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 19b7c0ac..63ebf515 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.simplemobiletools.contacts"
minSdkVersion 16
targetSdkVersion 28
- versionCode 31
- versionName "4.4.0"
+ versionCode 32
+ versionName "4.5.0"
setProperty("archivesBaseName", "contacts")
}
From bc6f5aeee5e70ab89d709e8e7c9c757da97217a7 Mon Sep 17 00:00:00 2001
From: tibbi
Date: Fri, 28 Sep 2018 20:21:41 +0200
Subject: [PATCH 58/64] updating changelog
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6beac38..ae86dd8c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,15 @@
Changelog
==========
+Version 4.5.0 *(2018-09-28)*
+----------------------------
+
+ * Added a simple dialpad
+ * Do not allow creating contacts under Signal or Telegram contact source
+ * Allow copying phone numbers into clipboard by long pressing them on the View screen
+ * Properly handle intents adding numbers to existing contacts
+ * Many other smaller improvements and bugfixes
+
Version 4.4.0 *(2018-09-04)*
----------------------------
From a8abd1bddca21ae0a64d673a9aca13d662eee6de Mon Sep 17 00:00:00 2001
From: solokot
Date: Sat, 29 Sep 2018 17:07:33 +0300
Subject: [PATCH 59/64] Update strings.xml
---
app/src/main/res/values-ru/strings.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index cd412417..34f1a71a 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -15,8 +15,8 @@
Отправить письмо группе
Вызов %s
Запрос необходимых разрешений
- Create new contact
- Add to an existing contact
+ Создать новый контакт
+ Добавить к существующему контакту
Новый контакт
Редактировать контакт
@@ -98,8 +98,8 @@
Имя файла (без .vcf)
- Dialpad
- Add number to contact
+ Набора номера
+ Добавить номер к контакту
Выберите отображаемые поля
From 6f76ddd39922ac59cf3b31ff24d09f309be495ed Mon Sep 17 00:00:00 2001
From: solokot
Date: Sat, 29 Sep 2018 17:09:24 +0300
Subject: [PATCH 60/64] Update strings.xml
---
app/src/main/res/values-ru/strings.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 34f1a71a..82a7239f 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -98,7 +98,7 @@
Имя файла (без .vcf)
- Набора номера
+ Набор номера
Добавить номер к контакту
From 058561383e1c316c850b3c85d94d78df85842f44 Mon Sep 17 00:00:00 2001
From: solokot
Date: Sun, 30 Sep 2018 13:01:15 +0300
Subject: [PATCH 61/64] Update strings.xml
---
app/src/main/res/values-ru/strings.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 82a7239f..98b0eebb 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -36,7 +36,7 @@
На устройстве нет групп контактов
Создать группу
Добавить в группу
- Создать группу под учётной записью
+ Создать группу в учётной записи
Снять фото
@@ -91,8 +91,8 @@
Импортировать контакты
Экспортировать контакты
- Импортировать контакты из vcf-файла
- Экспортировать контакты в vcf-файл
+ Импортировать из vcf-файла
+ Экспортировать в vcf-файл
Назначенный к обновлению источник контактов
Включить источники контактов
Имя файла (без .vcf)
From 96918f2d9fb31d4652424159924714e6d4ae83dd Mon Sep 17 00:00:00 2001
From: ScratchBuild
Date: Mon, 1 Oct 2018 14:07:25 +0900
Subject: [PATCH 62/64] Update Japanese translation
---
app/src/main/res/values-ja/strings.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index e87a4211..6e65f80f 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -15,8 +15,8 @@
グループにメールを送信
Call %s
Request the required permissions
- Create new contact
- Add to an existing contact
+ 新しい連絡先を作成
+ 既存の連絡先に追加
新しい連絡先
連絡先を編集
@@ -99,7 +99,7 @@
ダイヤルパッド
- Add number to contact
+ 連絡先に番号を追加
表示する項目を選択
From 5b91cdcfcede2cd1ae59070c38bf9d60e9f913db Mon Sep 17 00:00:00 2001
From: fricyo <30796677+fricyo@users.noreply.github.com>
Date: Sun, 7 Oct 2018 16:58:06 +0800
Subject: [PATCH 63/64] Update Translation
---
app/src/main/res/values-zh-rTW/strings.xml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 1fe54476..afab4bfc 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -15,8 +15,8 @@
發送電子郵件給群組
打電話給 %s
請求必要的權限
- Create new contact
- Add to an existing contact
+ 建立新聯絡人
+ 添加至已存在的聯絡人
新聯絡人
編輯聯絡人
@@ -25,7 +25,7 @@
名字
中間名
姓氏
- Nickname
+ 暱稱
沒有群組
@@ -98,8 +98,8 @@
檔案名稱 (不含.vcf)
- Dialpad
- Add number to contact
+ 撥號畫面
+ 添加號碼至通訊錄
選擇要顯示的欄位
@@ -114,7 +114,7 @@
網站
群組
聯絡人來源
- Instant messaging (IM)
+ 即時通訊 (IM)
我想要更改在通訊錄會看到哪些欄位。我能這麼做嗎?
From 4cfa967a642b0cd0624d9e880836d7261fc86a08 Mon Sep 17 00:00:00 2001
From: Emanuele Petriglia
Date: Sun, 7 Oct 2018 09:05:58 +0000
Subject: [PATCH 64/64] Add italian translation
---
app/src/main/res/values-it/strings.xml | 140 +++++++++++++++++++++++++
1 file changed, 140 insertions(+)
create mode 100644 app/src/main/res/values-it/strings.xml
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
new file mode 100644
index 00000000..517038be
--- /dev/null
+++ b/app/src/main/res/values-it/strings.xml
@@ -0,0 +1,140 @@
+
+ Simple Contacts
+ Contatti
+ Indirizzo
+ Inserimento in corso…
+ Aggiornamento in corso…
+ Memoria del telefono
+ Memoria del telfono (non visibile alle altre applicazioni)
+ Compagnia
+ Posizione lavorativa
+ Sito web
+ Invia un SMS ai contatti
+ Invia un\'email ai contatti
+ Invia un SMS al gruppo
+ Invia un\'email al gruppo
+ Chiama %s
+ Richiedi le permissioni necessarie
+ Crea un nuovo contatto
+ Aggiungi ad un contatto esistente
+
+ Nuovo contatto
+ Modifica contatto
+ Seleziona contatto
+ Seleziona contatti
+ Nome
+ Secondo nome
+ Cognome
+ Soprannome
+
+
+ Nessun gruppo
+ Crea un nuovo gruppo
+ Rimuovi dal gruppo
+ Questo gruppo è vuoto
+ Aggiungi contatti
+ Non ci sono gruppi con contatti nel dispositivo
+ Crea gruppo
+ Aggiungi al gruppo
+ Crea un gruppo con un account
+
+
+ Scatta un foto
+ Scegli una foto
+ Rimuovi foto
+
+
+ Prima il nome poi il cognome
+ Mostra i numeri di telefono nella schermata principale
+ Mostra le anteprime dei contatti
+ Al click sul contatto
+ Chiama contatto
+ Visualizza i dettagli del contatto
+ Gestisci i campi mostrati
+ Prova a filetrare i contatti duplicati
+ Gestisci le schede mostrate
+ Contatti
+ Preferiti
+ Chiamate recenti
+ Mostra un dialogo di conferma prima di iniziare una chiamata
+
+
+ Email
+ Casa
+ Lavoro
+ Altro
+
+
+ Numero
+ Cellulare
+ Principale
+ Fax di lavoro
+ Fax di casa
+ Cercapersone
+ Non è stato trovato alcun numero di telefono
+
+
+ Compleanno
+ Anniversario
+
+
+ Sembra che ancora non si ha nessun contatto preferito.
+ Aggiungi preferito
+ Aggiungi ai preferiti
+ Rimuovi dai preferiti
+ Devi stare nella schermata di modifica per modificare un contatto
+
+
+ Cerca contatti
+ Cerca preferiti
+
+
+ Importa contatti
+ Esporta contatti
+ Importa contatti da un file .vcf
+ Esporta contatti in un file .vcf
+ Individua la provenienza del contatto
+ Includi la provenienza del contatto
+ Nome del file (senza .vcf)
+
+
+ Tastiera
+ Aggiungi numero ai contatti
+
+
+ Seleziona i campi da mostrare
+ Prefisso
+ Suffisso
+ Numeri di telefono
+ Email
+ Indirizzi
+ Eventi (compleanni, anniversari)
+ Note
+ Organizazione
+ Siti web
+ Gruppi
+ Provenienza del contatto
+ Messaggistica istantanea (IM)
+
+
+ Voglio cambiare i campi visibili ai contatti. Come posso fare?
+ Puoi farlo andando in Impostazioni -> Gestisci i campi mostrati. Qui puoi selezionare i campi che saranno visibili. Alcuni sono anche disabilitati in maniera predefinita, quindi potresti trovare qualche nuovo campo.
+
+
+
+ Un\'applicazioni contatti per gestire i propri contatti senza pubblicità.
+
+ Una semplice applicazione per creare o gestire i propri contatti da qualsiasi provenienza. I contatti saranno salvati solamente nel dispositivo, ma possono essere sincronizzati con Google, o con altri servizi. Si possono visualizzare i contatti preferiti in una list separata.
+
+ Si può utilizzare l\'applicazione anche per gestire le email e gli eventi. Può ordinare e filtrare per parametri multipli, ed opzionalmente visualizzare il cognome come nome
+
+ Non contiene pubblicità nè chiede permessi non necessari. È completamente open source ed offre colori personalizzabili.
+
+ Quest\'app fa parte di una serie più grande. Puoi trovare le altre su https://www.simplemobiletools.com
+
+
+
+