diff --git a/otgc/build.gradle b/otgc/build.gradle index c90c345a54cc99cccbd1131ae7cb5914f4b7795b..78604feb710d75d7be6d3d6c48bb22844f267996 100644 --- a/otgc/build.gradle +++ b/otgc/build.gradle @@ -30,7 +30,7 @@ android { minSdkVersion 21 targetSdkVersion 28 versionCode 13 - versionName "2.4.0" + versionName "2.5.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" compileOptions { diff --git a/otgc/src/main/assets/kyrio-ee-cert.pem b/otgc/src/main/assets/kyrio-ee-cert.pem index 6ab9a5d3a60562e233e11d6d1dbee78adc5687ef..3ee52a3567ae79f89012a20f3c78847e37669002 100644 --- a/otgc/src/main/assets/kyrio-ee-cert.pem +++ b/otgc/src/main/assets/kyrio-ee-cert.pem @@ -1,14 +1,14 @@ -----BEGIN CERTIFICATE----- -MIIEEzCCA7mgAwIBAgIJAI0K+3tTskzXMAoGCCqGSM49BAMCMFsxDDAKBgNVBAoM +MIIEEzCCA7mgAwIBAgIJAI0K+3tTsk0AMAoGCCqGSM49BAMCMFsxDDAKBgNVBAoM A09DRjEiMCAGA1UECwwZS3lyaW8gVGVzdCBJbmZyYXN0cnVjdHVyZTEnMCUGA1UE -AwweS3lyaW8gVEVTVCBJbnRlcm1lZGlhdGUgQ0EwMDAyMB4XDTE5MDkyMzA5MjUx -OFoXDTE5MTAyMzA5MjUxOFowYTEMMAoGA1UECgwDT0NGMSIwIAYDVQQLDBlLeXJp +AwweS3lyaW8gVEVTVCBJbnRlcm1lZGlhdGUgQ0EwMDAyMB4XDTE5MTAyNDA5NDg1 +NFoXDTE5MTEyMzA5NDg1NFowYTEMMAoGA1UECgwDT0NGMSIwIAYDVQQLDBlLeXJp byBUZXN0IEluZnJhc3RydWN0dXJlMS0wKwYDVQQDDCQxZTFiZWJmYi04ZjAzLTQ3 -ODUtNWZhNy0xYjcwNGU2NTQzNjAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQj -V7MJwkO4J4PWR4KgbVHrFHSQipHMRNu704OPmnAQQ3tnEhjnYxn0TODDvN8YekE5 -voDDOX98mYpxhPa5hz52o4ICXjCCAlowCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMC +ODUtNWZhNy0xYjcwNGU2NTQzNjAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATW +d0t/5GahEMUSb8dhaOIZdTDHDTelbWWfjSxA6OhcMy1uKGewCg7e2R2ZTK7ZM/th +KSXuMywN0JXA6BoW9on8o4ICXjCCAlowCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMC A4gwKQYDVR0lBCIwIAYIKwYBBQUHAwIGCCsGAQUFBwMBBgorBgEEAYLefAEGMB0G -A1UdDgQWBBRjlMq7Dkw3IN1X1CTuDLEITgjQGTAfBgNVHSMEGDAWgBQZc2oEGgsH +A1UdDgQWBBS+4P5iaPJfppBg66266sma6Ffe9jAfBgNVHSMEGDAWgBQZc2oEGgsH cE9TeVM2h/wMunyuCzCBlgYIKwYBBQUHAQEEgYkwgYYwXQYIKwYBBQUHMAKGUWh0 dHA6Ly90ZXN0cGtpLmt5cmlvLmNvbS9vY2YvY2FjZXJ0cy9CQkU2NEY5QTdFRTM3 RDI5QTA1RTRCQjc3NTk1RjMwOEJFNDFFQjA3LmNydDAlBggrBgEFBQcwAYYZaHR0 @@ -19,6 +19,6 @@ AjBgBgorBgEEAYORVgEABFIwUDAJAgECAgEAAgEAMDYMGTEuMy42LjEuNC4xLjUx NDE0LjAuMC4xLjAMGTEuMy42LjEuNC4xLjUxNDE0LjAuMC4yLjAMBE9UR0MMBURF S1JBMCoGCisGAQQBg5FWAQEEHDAaBgsrBgEEAYORVgEBAAYLKwYBBAGDkVYBAQEw MAYKKwYBBAGDkVYBAgQiMCAMDjEuMy42LjEuNC4xLjcxDAlEaXNjb3ZlcnkMAzEu -MDAKBggqhkjOPQQDAgNIADBFAiBLKD1R5LUOUJdMq2VWlzbzpZjvLeN1CFQIPS4y -cjbm9wIhANmGPf7y8/s/fKWy/dEaIGjo79lButKOe0JWZaburW3P +MDAKBggqhkjOPQQDAgNIADBFAiEA3Ay4oPSGwARJWub9/k58xiqARpRKjCDaGGZi +mHTurqYCIC/e7Y9NAMiweZZ2JaGAYXC7T8YTqAFneT9jaq2o3c9m -----END CERTIFICATE----- diff --git a/otgc/src/main/assets/kyrio-ee-key.pem b/otgc/src/main/assets/kyrio-ee-key.pem index 74373c9fb7afb0b735ebd640052ddf226420a59c..eb4fad6e470d7c95474c364ae9d33bb9669c2875 100644 --- a/otgc/src/main/assets/kyrio-ee-key.pem +++ b/otgc/src/main/assets/kyrio-ee-key.pem @@ -1,5 +1,8 @@ +-----BEGIN EC PARAMETERS----- +BggqhkjOPQMBBw== +-----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIChO1xeRf0WA/npKbjLKPzlnTDhE7v95O5ZG2fhZbBjLoAoGCCqGSM49 -AwEHoUQDQgAEI1ezCcJDuCeD1keCoG1R6xR0kIqRzETbu9ODj5pwEEN7ZxIY52MZ -9Ezgw7zfGHpBOb6Awzl/fJmKcYT2uYc+dg== +MHcCAQEEIDUCAKRYHFbz7MVYj4LASsOxX54sYcVNbE4MLwIa/0j/oAoGCCqGSM49 +AwEHoUQDQgAE1ndLf+RmoRDFEm/HYWjiGXUwxw03pW1ln40sQOjoXDMtbihnsAoO +3tkdmUyu2TP7YSkl7jMsDdCVwOgaFvaJ/A== -----END EC PRIVATE KEY----- diff --git a/otgc/src/main/java/org/openconnectivity/otgc/data/repository/IORepository.java b/otgc/src/main/java/org/openconnectivity/otgc/data/repository/IORepository.java index 80ca11b83c5b49e017e9c677b3d805a6109dfa36..d8fa8cb98d081815aa3f0be05c3a43b7e57d19f9 100644 --- a/otgc/src/main/java/org/openconnectivity/otgc/data/repository/IORepository.java +++ b/otgc/src/main/java/org/openconnectivity/otgc/data/repository/IORepository.java @@ -147,6 +147,9 @@ public class IORepository { } catch (IOException e) { Timber.e("%s file storage failed", path); emitter.onError(e); + } catch (Exception e) { + Timber.e(e.getMessage()); + emitter.onError(e); } }); } diff --git a/otgc/src/main/java/org/openconnectivity/otgc/view/trustanchor/TrustAnchorActivity.java b/otgc/src/main/java/org/openconnectivity/otgc/view/trustanchor/TrustAnchorActivity.java index ecc3f00fbcac537f0016c5e46947270b0ac33a94..17a933d28ae5bbf8f19662a5dd5b21a967b54cb5 100644 --- a/otgc/src/main/java/org/openconnectivity/otgc/view/trustanchor/TrustAnchorActivity.java +++ b/otgc/src/main/java/org/openconnectivity/otgc/view/trustanchor/TrustAnchorActivity.java @@ -25,6 +25,7 @@ import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.ProgressBar; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; @@ -238,7 +239,16 @@ public class TrustAnchorActivity extends AppCompatActivity implements Injectable } private void handleError(@NonNull ViewModelError error) { - // TODO: + int errorId = -1; + switch ((TrustAnchorViewModel.Error)error.getType()) { + case ADD_ROOT_CERT: + errorId = R.string.trust_anchor_create_error; + break; + } + + if (errorId != 0) { + Toast.makeText(this, errorId, Toast.LENGTH_SHORT).show(); + } } private void processCredential(@NonNull OcCredential credential) { diff --git a/otgc/src/main/java/org/openconnectivity/otgc/viewmodel/TrustAnchorViewModel.java b/otgc/src/main/java/org/openconnectivity/otgc/viewmodel/TrustAnchorViewModel.java index 3a3eb69ba86b2cde85f939a5007e7219aac380f7..3f11fbc5950ffea541acb9e6b0db43029e6fbbd0 100644 --- a/otgc/src/main/java/org/openconnectivity/otgc/viewmodel/TrustAnchorViewModel.java +++ b/otgc/src/main/java/org/openconnectivity/otgc/viewmodel/TrustAnchorViewModel.java @@ -12,6 +12,7 @@ import org.openconnectivity.otgc.domain.usecase.trustanchor.RemoveTrustAnchorByC import org.openconnectivity.otgc.domain.usecase.trustanchor.StoreTrustAnchorUseCase; import org.openconnectivity.otgc.utils.rx.SchedulersFacade; import org.openconnectivity.otgc.utils.viewmodel.ViewModelError; +import org.openconnectivity.otgc.utils.viewmodel.ViewModelErrorType; import java.io.File; @@ -90,7 +91,7 @@ public class TrustAnchorViewModel extends ViewModel { .observeOn(schedulersFacade.ui()) .subscribe( () -> retrieveTrustAnchors(), - throwable -> {} + throwable -> mError.setValue(new ViewModelError(Error.ADD_ROOT_CERT, throwable.getMessage())) )); } @@ -103,4 +104,8 @@ public class TrustAnchorViewModel extends ViewModel { throwable -> {} )); } + + public enum Error implements ViewModelErrorType { + ADD_ROOT_CERT + } } diff --git a/otgc/src/main/res/values-es/strings.xml b/otgc/src/main/res/values-es/strings.xml index 932f5bea2b83464566c2ed0cad74cfa577dbcfe4..bdf95663a0e4881092d4462a22b96c51b38a3b31 100644 --- a/otgc/src/main/res/values-es/strings.xml +++ b/otgc/src/main/res/values-es/strings.xml @@ -166,6 +166,7 @@ ID de rol: %1$s, Autoridad de rol: %2$s ID Credencial: %1$s Uso: %1$s + No se puede almacenar el certificado raíz desde la ubicación seleccionada Error escaneando las redes Wi-Fi Configurando y conectado el dispositivo mediante Wi-Fi Easy Setup Wi-Fi Easy Setup ha fallado diff --git a/otgc/src/main/res/values/strings.xml b/otgc/src/main/res/values/strings.xml index 01b011b2c9848f7a9a806854fd6a45892950a5eb..970ea3d574e413e6e3cb6e2903d1c89f1ac209c4 100644 --- a/otgc/src/main/res/values/strings.xml +++ b/otgc/src/main/res/values/strings.xml @@ -216,6 +216,7 @@ Credential ID: %1$s Usage: %1$s Role ID: %1$s, Role Authority: %2$s + Cannot store the root certificate from the selected location Unnamed Info