From 79d7f11eb52027f5b558bf9fe4f49dd2669e21a4 Mon Sep 17 00:00:00 2001 From: Gius95 Date: Fri, 14 Dec 2018 17:57:01 +0100 Subject: [PATCH 1/3] Implementato Firebase e Fabric --- .idea/caches/build_file_checksums.ser | Bin 728 -> 728 bytes app/build.gradle | 17 +- app/google-services.json | 55 +++++++ app/src/main/AndroidManifest.xml | 3 + .../integrywmsnative/MainActivity.java | 2 +- .../integrywmsnative/MainApplication.java | 5 + .../core/REST/RESTBuilder.java | 3 +- .../core/REST/model/SlackMessageDTO.java | 4 + .../core/exception/ExceptionsHandler.java | 8 +- .../core/utility/UtilityLogger.java | 4 - .../viewmodel/VersamentoMerceViewModel.java | 10 +- .../dialogs/DialogAskLivelloPosizione.java | 150 ++++++++++++++---- build.gradle | 6 +- 13 files changed, 216 insertions(+), 51 deletions(-) create mode 100644 app/google-services.json create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/REST/model/SlackMessageDTO.java diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index a2b7a318b17795af384524506f0300e5caeed1c7..8fcff77447642535cca8c675dfc1619215853d98 100644 GIT binary patch delta 56 zcmV-80LTB>1=t0Um;|kvnADM+wGc>JY?n2mKrultLk2a?ZF-Yo0gVvTJ6doQ4E6%R O;hllfW1mfv{sG#vEg0tj delta 56 zcmV-80LTB>1=t0Um;|gJ%Sw@)wGh7zEy^TlT&_Bxy{~1_>hzOg0gVuR?B9D`BRc;x OXt`K&7DWh?{sG$W5E^Cx diff --git a/app/build.gradle b/app/build.gradle index 10910853..fedab293 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,18 @@ +buildscript { + repositories { + maven { url 'https://maven.fabric.io/public' } + } + + dependencies { + classpath 'io.fabric.tools:gradle:1.+' + } +} apply plugin: 'com.android.application' +apply plugin: 'com.google.firebase.firebase-perf' +apply plugin: 'io.fabric' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 28 @@ -37,6 +49,9 @@ dependencies { }) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.orhanobut:logger:2.2.0' + implementation 'com.google.firebase:firebase-crash:16.2.1' + implementation 'com.google.firebase:firebase-perf:16.2.2' + implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7' implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'com.google.android.material:material:1.1.0-alpha01' @@ -86,11 +101,11 @@ dependencies { //AppUpdate implementation 'com.github.javiersantos:AppUpdater:2.7' - //Barcode implementation project(':pointmobilescannerlibrary') implementation project(path: ':barcode_base_library') } repositories { mavenCentral() + maven { url 'https://maven.fabric.io/public' } } diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 00000000..c55e9450 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,55 @@ +{ + "project_info": { + "project_number": "963231271247", + "firebase_url": "https://wmsfirebaseproject-64854.firebaseio.com", + "project_id": "wmsfirebaseproject-64854", + "storage_bucket": "wmsfirebaseproject-64854.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:963231271247:android:6d73ab369f33c450", + "android_client_info": { + "package_name": "it.integry.integrywmsnative" + } + }, + "oauth_client": [ + { + "client_id": "963231271247-b50hgcd89u9ksfc7189mri044kq8aq1p.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "it.integry.integrywmsnative", + "certificate_hash": "864b69dcc40196befa65638a868cec1c61245fa6" + } + }, + { + "client_id": "963231271247-6jof105pci1g0g7m2e7kjbtrtk2443g4.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyAV0HnnjE-ZVKhkCQOAyNRzlByk1wng9_4" + } + ], + "services": { + "analytics_service": { + "status": 1 + }, + "appinvite_service": { + "status": 2, + "other_platform_oauth_client": [ + { + "client_id": "963231271247-6jof105pci1g0g7m2e7kjbtrtk2443g4.apps.googleusercontent.com", + "client_type": 3 + } + ] + }, + "ads_service": { + "status": 2 + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 25f07acc..b4ff3c85 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -52,6 +52,9 @@ android:label="@string/activity_contenuto_bancale_title" android:screenOrientation="portrait" android:theme="@style/Light" /> + \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java index bc9e94c4..20622086 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java @@ -53,7 +53,7 @@ public class MainActivity extends AppCompatActivity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ExceptionsHandler.init(this); + //ExceptionsHandler.init(this); PermissionsHelper.askPermissions(this); diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java index 19e69a6d..d7237c3e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java @@ -6,9 +6,11 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.text.SpannableString; +import com.crashlytics.android.Crashlytics; import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.Logger; +import io.fabric.sdk.android.Fabric; import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.exception.ExceptionsHandler; @@ -31,6 +33,9 @@ public class MainApplication extends Application { @Override public void onCreate() { super.onCreate(); + if(!BuildConfig.DEBUG) { + Fabric.with(this, new Crashlytics()); + } Stash.init(this); SettingsManager.init(this); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java index 68fdd481..e43d30c1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java @@ -43,7 +43,8 @@ public class RESTBuilder { .addConverterFactory(GsonConverterFactory.create()) .build(); + + return retrofit.create(service); } - } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/model/SlackMessageDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/model/SlackMessageDTO.java new file mode 100644 index 00000000..a0e838b0 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/model/SlackMessageDTO.java @@ -0,0 +1,4 @@ +package it.integry.integrywmsnative.core.REST.model; + +public class SlackMessageDTO { +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java index 92fb70bc..f249c0f2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java @@ -19,7 +19,6 @@ public class ExceptionsHandler implements Thread.UncaughtExceptionHandler { private final static String TAG = ExceptionsHandler.class.getSimpleName(); private final Activity context; - //private final Thread.UncaughtExceptionHandler rootHandler; public static void init(Activity context) { new ExceptionsHandler(context); @@ -28,10 +27,11 @@ public class ExceptionsHandler implements Thread.UncaughtExceptionHandler { private ExceptionsHandler(Activity context) { this.context = context; - if (!BuildConfig.DEBUG) { - //rootHandler = Thread.getDefaultUncaughtExceptionHandler(); + //if (!BuildConfig.DEBUG) { Thread.setDefaultUncaughtExceptionHandler(this); - } + + + //} } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java index e19f4a59..f0fe6bae 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java @@ -1,10 +1,7 @@ package it.integry.integrywmsnative.core.utility; -import android.util.Log; - import com.orhanobut.logger.Logger; -import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringWriter; import java.text.SimpleDateFormat; @@ -14,7 +11,6 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.settings.SettingsManager; -import okhttp3.internal.Util; public class UtilityLogger { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java index ac2dcaea..fa015eac 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java @@ -210,16 +210,12 @@ public class VersamentoMerceViewModel { private void updatePosizione(MtbDepoPosizione mtbDepoPosizione, boolean shouldAskLivello, ProgressDialog progressDialog) { if(shouldAskLivello) { - DialogAskLivelloPosizione.make(mContext, livello -> { + DialogAskLivelloPosizione.make(mContext, mtbDepoPosizione, newPosizione -> { - if(livello == null) { + if(newPosizione == null) { updatePosizione(mtbDepoPosizione, shouldAskLivello, progressDialog); } else { - String newPosizione = mtbDepoPosizione.getPosizione().substring(0, mtbDepoPosizione.getPosizione().length()-1); - newPosizione += livello; - mtbDepoPosizione.setPosizione(newPosizione); - - updatePosizione(mtbDepoPosizione, false, progressDialog); + updatePosizione(newPosizione, false, progressDialog); } }, ex -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java index 2e0797f3..764d53ea 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java @@ -1,45 +1,133 @@ package it.integry.integrywmsnative.view.dialogs; +import android.app.Dialog; import android.content.Context; -import androidx.appcompat.app.AlertDialog; -import android.text.InputType; -import android.widget.EditText; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; +import com.google.android.material.textfield.TextInputLayout; + +import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.core.utility.UtilityToast; +import it.integry.integrywmsnative.core.model.MtbDepoPosizione; +import it.integry.integrywmsnative.core.utility.UtilityPosizione; public class DialogAskLivelloPosizione { - public static void make(Context context, RunnableArgs onComplete, RunnableArgs onFailed) { - final EditText livelloEditText = new EditText(context); - livelloEditText.setInputType(InputType.TYPE_CLASS_NUMBER); + private Context mContext; + private MtbDepoPosizione mtbDepoPosizione; - AlertDialog dialog = new AlertDialog.Builder(context) - .setTitle("Livello") - .setMessage("In che livello vuoi posizionare?") - .setView(livelloEditText) - .setPositiveButton("OK", (dialog1, which) -> { - String livello = String.valueOf(livelloEditText.getText()); - if(UtilityString.isNullOrEmpty(livello)) { - UtilityToast.showToast("Inserisci un LIVELLO valido"); - onComplete.run(null); - } else { - try{ - Integer livelloInt = Integer.parseInt(livello); - onComplete.run(livelloInt); - } catch (NumberFormatException nfe) { - UtilityToast.showToast("Inserisci un LIVELLO valido"); - onComplete.run(null); - } - } - - }) - .setNegativeButton("Annulla", null) - .create(); - dialog.show(); + private Dialog mAlert; + + private RunnableArgs onComplete; + private RunnableArgs onFailed; + + private TextInputLayout livelloTextInputLayout; + + public static void make(Context context, MtbDepoPosizione mtbDepoPosizione, RunnableArgs onComplete, RunnableArgs onFailed) { + new DialogAskLivelloPosizione(context, mtbDepoPosizione, onComplete, onFailed).mAlert.show(); + } + + + + public DialogAskLivelloPosizione(Context context, MtbDepoPosizione mtbDepoPosizione, RunnableArgs onComplete, RunnableArgs onFailed) { + mContext = context; + this.mtbDepoPosizione = mtbDepoPosizione; + this.onComplete = onComplete; + this.onFailed = onFailed; + + LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); + View currentView = inflater.inflate(R.layout.dialog_ask_position_of_lu__page2, null, false); + + mAlert = new Dialog(mContext); + mAlert.setContentView(currentView); + mAlert.setCanceledOnTouchOutside(false); + + mAlert.setOnShowListener(dialog -> { + + currentView.findViewById(R.id.button_confirm).setOnClickListener(v -> { + String levelNumber = ((TextView)currentView.findViewById(R.id.level_number)).getText().toString(); + onLevelConfirm(levelNumber); + }); + + currentView.findViewById(R.id.button_abort).setOnClickListener(v -> { + onLevelAbort(); + }); + + livelloTextInputLayout = currentView.findViewById(R.id.level_number_layout); + + livelloTextInputLayout.getEditText().addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + if(livelloTextInputLayout.getEditText().getText() != null) { + validateLevel(livelloTextInputLayout.getEditText().getText().toString()); + } else resetLevelError(); + } + + @Override + public void afterTextChanged(Editable s) { + + } + }); + + }); + + + } + + + private void onLevelConfirm(String levelString) { + + String newPosizione = mtbDepoPosizione.getPosizione().substring(0, mtbDepoPosizione.getPosizione().length()-1); + newPosizione += levelString; + + MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(newPosizione); + + if(foundPosizione != null) { + resetLevelError(); + + onComplete.run(foundPosizione); + mAlert.dismiss(); + + + } else { + setLevelError(mContext.getResources().getString(R.string.not_valid)); + } + } + + + private void validateLevel(String levelString) { + String newPosizione = mtbDepoPosizione.getPosizione().substring(0, mtbDepoPosizione.getPosizione().length()-1); + newPosizione += levelString; + + if(UtilityPosizione.getFromCache(newPosizione) != null) { + resetLevelError(); + } else setLevelError(mContext.getResources().getString(R.string.not_valid)); + } + + private void setLevelError(String message){ + livelloTextInputLayout.setErrorEnabled(true); + livelloTextInputLayout.setError(message); + } + + private void resetLevelError() { + livelloTextInputLayout.setError(null); + } + + + private void onLevelAbort() { + onComplete.run(null); + mAlert.dismiss(); } diff --git a/build.gradle b/build.gradle index 53464802..36d077cd 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext{ - kotlin_version = '1.3.10' + kotlin_version = '1.3.11' gradle_version = '3.2.1' } @@ -15,8 +15,10 @@ buildscript { google() } dependencies { - classpath "com.android.tools.build:gradle:3.2.1" + classpath "com.android.tools.build:gradle:$gradle_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.google.gms:google-services:4.2.0' + classpath 'com.google.firebase:firebase-plugins:1.1.5' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 4f44148eee002455e6d1007e0fb35c5be4c973e9 Mon Sep 17 00:00:00 2001 From: Gius95 Date: Fri, 14 Dec 2018 18:38:03 +0100 Subject: [PATCH 2/3] Completata utilityFocus e dialog ask livello in Versamento --- .idea/caches/build_file_checksums.ser | Bin 728 -> 728 bytes app/fabric.properties | 3 ++ .../core/utility/UtilityFocus.java | 16 ++++++++ .../viewmodel/VersamentoMerceViewModel.java | 2 +- .../dialogs/DialogAskLivelloPosizione.java | 23 +++++++++-- .../layout/dialog_ask_livello_of_position.xml | 38 ++++++++++++++++++ .../dialog_ask_position_of_lu__page2.xml | 2 +- 7 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 app/fabric.properties create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityFocus.java create mode 100644 app/src/main/res/layout/dialog_ask_livello_of_position.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 8fcff77447642535cca8c675dfc1619215853d98..2da3dea5c38916c524fe351bb0412598ea3b6bf0 100644 GIT binary patch delta 14 Wcmcb?dV_VsOy { + DialogAskLivelloPosizione.make(mContext, mtbDepoPosizione, false, newPosizione -> { if(newPosizione == null) { updatePosizione(mtbDepoPosizione, shouldAskLivello, progressDialog); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java index 764d53ea..ef2f27c7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskLivelloPosizione.java @@ -3,6 +3,7 @@ package it.integry.integrywmsnative.view.dialogs; import android.app.Dialog; import android.content.Context; +import android.content.DialogInterface; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; @@ -14,6 +15,7 @@ import com.google.android.material.textfield.TextInputLayout; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; +import it.integry.integrywmsnative.core.utility.UtilityFocus; import it.integry.integrywmsnative.core.utility.UtilityPosizione; public class DialogAskLivelloPosizione { @@ -29,27 +31,36 @@ public class DialogAskLivelloPosizione { private TextInputLayout livelloTextInputLayout; - public static void make(Context context, MtbDepoPosizione mtbDepoPosizione, RunnableArgs onComplete, RunnableArgs onFailed) { - new DialogAskLivelloPosizione(context, mtbDepoPosizione, onComplete, onFailed).mAlert.show(); + private boolean completedFLow = false; + + public static void make(Context context, MtbDepoPosizione mtbDepoPosizione, boolean canAbort, RunnableArgs onComplete, RunnableArgs onFailed) { + new DialogAskLivelloPosizione(context, mtbDepoPosizione, canAbort, onComplete, onFailed).mAlert.show(); } - public DialogAskLivelloPosizione(Context context, MtbDepoPosizione mtbDepoPosizione, RunnableArgs onComplete, RunnableArgs onFailed) { + public DialogAskLivelloPosizione(Context context, MtbDepoPosizione mtbDepoPosizione, boolean canAbort, RunnableArgs onComplete, RunnableArgs onFailed) { mContext = context; this.mtbDepoPosizione = mtbDepoPosizione; this.onComplete = onComplete; this.onFailed = onFailed; LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - View currentView = inflater.inflate(R.layout.dialog_ask_position_of_lu__page2, null, false); + View currentView = inflater.inflate(R.layout.dialog_ask_livello_of_position, null, false); mAlert = new Dialog(mContext); mAlert.setContentView(currentView); mAlert.setCanceledOnTouchOutside(false); + mAlert.setOnDismissListener(dialog -> { + if(!completedFLow) onComplete.run(null); + }); + mAlert.setOnShowListener(dialog -> { + if(!canAbort) currentView.findViewById(R.id.button_abort).setVisibility(View.GONE); + + currentView.findViewById(R.id.button_confirm).setOnClickListener(v -> { String levelNumber = ((TextView)currentView.findViewById(R.id.level_number)).getText().toString(); onLevelConfirm(levelNumber); @@ -61,6 +72,8 @@ public class DialogAskLivelloPosizione { livelloTextInputLayout = currentView.findViewById(R.id.level_number_layout); + + UtilityFocus.focusTextBox(mContext, livelloTextInputLayout.getEditText()); livelloTextInputLayout.getEditText().addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -96,6 +109,7 @@ public class DialogAskLivelloPosizione { if(foundPosizione != null) { resetLevelError(); + completedFLow = true; onComplete.run(foundPosizione); mAlert.dismiss(); @@ -126,6 +140,7 @@ public class DialogAskLivelloPosizione { private void onLevelAbort() { + completedFLow = true; onComplete.run(null); mAlert.dismiss(); } diff --git a/app/src/main/res/layout/dialog_ask_livello_of_position.xml b/app/src/main/res/layout/dialog_ask_livello_of_position.xml new file mode 100644 index 00000000..4b7705d1 --- /dev/null +++ b/app/src/main/res/layout/dialog_ask_livello_of_position.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_ask_position_of_lu__page2.xml b/app/src/main/res/layout/dialog_ask_position_of_lu__page2.xml index 3de83695..e421bc3e 100644 --- a/app/src/main/res/layout/dialog_ask_position_of_lu__page2.xml +++ b/app/src/main/res/layout/dialog_ask_position_of_lu__page2.xml @@ -39,6 +39,7 @@ android:layout_height="wrap_content" style="@style/Button.PrimaryOutline" app:icon="@drawable/ic_clear_24dp" + android:layout_marginEnd="8dp" android:text="Annulla"/> @@ -48,7 +49,6 @@ android:layout_height="wrap_content" style="@style/Button.PrimaryFull" app:icon="@drawable/ic_save_24dp" - android:layout_marginStart="8dp" android:text="Salva"/> From bf277eaaa5f1859e2cd9dd75b420eb5d9d0fc64e Mon Sep 17 00:00:00 2001 From: Gius95 Date: Fri, 14 Dec 2018 18:39:00 +0100 Subject: [PATCH 3/3] -> v1.0.6 (9) --- .idea/caches/build_file_checksums.ser | Bin 728 -> 728 bytes app/build.gradle | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 2da3dea5c38916c524fe351bb0412598ea3b6bf0..1d2a4331b11447280283558c0d8c51a9b78a4a9a 100644 GIT binary patch delta 35 tcmV+;0NnrB1=t0UnFGv%evzED5U2e