From aa46a4916859c00db1006d749438b01159bb17bd Mon Sep 17 00:00:00 2001 From: Scorillo Date: Mon, 22 Apr 2019 11:24:27 +0300 Subject: [PATCH 01/11] Android9 version --- app/build.gradle | 11 +- app/src/main/AndroidManifest.xml | 2 + .../microntek/mtcser/BTServiceInf.java | 168 +++++++++--------- build.gradle | 1 + gradle/wrapper/gradle-wrapper.properties | 4 +- 5 files changed, 95 insertions(+), 91 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3729254..0ab2514 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,14 +1,15 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion '25.0.0' + compileSdkVersion 28 + buildToolsVersion '28.0.0' defaultConfig { applicationId "com.f1x.mtcdialer" minSdkVersion 21 - targetSdkVersion 25 + targetSdkVersion 26 versionCode 1 - versionName "1.2.2" + versionName "1.2.3" + archivesBaseName = "$applicationId-$versionName" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { @@ -24,6 +25,6 @@ dependencies { androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:25.1.1' + compile 'com.android.support:appcompat-v7:28.0.0' testCompile 'junit:junit:4.12' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 120bb97..af14871 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -34,6 +34,8 @@ + + \ No newline at end of file diff --git a/app/src/main/java/android/microntek/mtcser/BTServiceInf.java b/app/src/main/java/android/microntek/mtcser/BTServiceInf.java index 2b3d896..b97c0da 100644 --- a/app/src/main/java/android/microntek/mtcser/BTServiceInf.java +++ b/app/src/main/java/android/microntek/mtcser/BTServiceInf.java @@ -115,7 +115,7 @@ public long getNowDevAddr() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(7, _data, _reply, 0); + this.mRemote.transact(11, _data, _reply, 0); _reply.readException(); long _result = _reply.readLong(); return _result; @@ -130,7 +130,7 @@ public String getNowDevName() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(8, _data, _reply, 0); + this.mRemote.transact(12, _data, _reply, 0); _reply.readException(); String _result = _reply.readString(); return _result; @@ -145,7 +145,7 @@ public void avPlayPause() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(9, _data, _reply, 0); + this.mRemote.transact(15, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -158,7 +158,7 @@ public void avPlayStop() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(10, _data, _reply, 0); + this.mRemote.transact(16, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -171,7 +171,7 @@ public void avPlayPrev() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(11, _data, _reply, 0); + this.mRemote.transact(17, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -184,7 +184,7 @@ public void avPlayNext() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(12, _data, _reply, 0); + this.mRemote.transact(18, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -197,7 +197,7 @@ public void answerCall() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(13, _data, _reply, 0); + this.mRemote.transact(19, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -210,7 +210,7 @@ public void hangupCall() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(14, _data, _reply, 0); + this.mRemote.transact(20, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -223,7 +223,7 @@ public void rejectCall() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(15, _data, _reply, 0); + this.mRemote.transact(21, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -236,7 +236,7 @@ public void switchVoice() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(16, _data, _reply, 0); + this.mRemote.transact(26, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -249,7 +249,7 @@ public void syncPhonebook() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(17, _data, _reply, 0); + this.mRemote.transact(27, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -262,7 +262,7 @@ public String getModuleName() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(18, _data, _reply, 0); + this.mRemote.transact(28, _data, _reply, 0); _reply.readException(); String _result = _reply.readString(); return _result; @@ -277,7 +277,7 @@ public String getModulePassword() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(19, _data, _reply, 0); + this.mRemote.transact(29, _data, _reply, 0); _reply.readException(); String _result = _reply.readString(); return _result; @@ -293,7 +293,7 @@ public void setModuleName(String name) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(name); - this.mRemote.transact(20, _data, _reply, 0); + this.mRemote.transact(30, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -307,7 +307,7 @@ public void setModulePassword(String password) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(password); - this.mRemote.transact(21, _data, _reply, 0); + this.mRemote.transact(31, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -325,7 +325,7 @@ public void setAutoConnect(boolean auto) throws RemoteException { i = 1; } _data.writeInt(i); - this.mRemote.transact(22, _data, _reply, 0); + this.mRemote.transact(32, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -339,7 +339,7 @@ public boolean getAutoConnect() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(23, _data, _reply, 0); + this.mRemote.transact(33, _data, _reply, 0); _reply.readException(); if (_reply.readInt() != 0) { _result = true; @@ -364,7 +364,7 @@ public void setAutoAnswer(boolean auto) throws RemoteException { i = 1; } _data.writeInt(i); - this.mRemote.transact(24, _data, _reply, 0); + this.mRemote.transact(34, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -378,7 +378,7 @@ public boolean getAutoAnswer() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(25, _data, _reply, 0); + this.mRemote.transact(35, _data, _reply, 0); _reply.readException(); if (_reply.readInt() != 0) { _result = true; @@ -399,7 +399,7 @@ public void connectBT(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(26, _data, _reply, 0); + this.mRemote.transact(36, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -413,7 +413,7 @@ public void disconnectBT(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(27, _data, _reply, 0); + this.mRemote.transact(37, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -427,7 +427,7 @@ public void connectOBD(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(28, _data, _reply, 0); + this.mRemote.transact(38, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -441,7 +441,7 @@ public void disconnectOBD(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(29, _data, _reply, 0); + this.mRemote.transact(39, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -455,7 +455,7 @@ public void deleteOBD(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(30, _data, _reply, 0); + this.mRemote.transact(40, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -469,7 +469,7 @@ public void deleteBT(String mac) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(mac); - this.mRemote.transact(31, _data, _reply, 0); + this.mRemote.transact(41, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -482,7 +482,7 @@ public void syncMatchList() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(32, _data, _reply, 0); + this.mRemote.transact(42, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -495,7 +495,7 @@ public List getMatchList() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(33, _data, _reply, 0); + this.mRemote.transact(43, _data, _reply, 0); _reply.readException(); List _result = _reply.createStringArrayList(); return _result; @@ -510,7 +510,7 @@ public List getDeviceList() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(34, _data, _reply, 0); + this.mRemote.transact(44, _data, _reply, 0); _reply.readException(); List _result = _reply.createStringArrayList(); return _result; @@ -525,7 +525,7 @@ public List getHistoryList() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(35, _data, _reply, 0); + this.mRemote.transact(45, _data, _reply, 0); _reply.readException(); List _result = _reply.createStringArrayList(); return _result; @@ -540,7 +540,7 @@ public List getPhoneBookList() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(36, _data, _reply, 0); + this.mRemote.transact(46, _data, _reply, 0); _reply.readException(); List _result = _reply.createStringArrayList(); return _result; @@ -556,7 +556,7 @@ public void setPhoneBookList(List list) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeStringList(list); - this.mRemote.transact(37, _data, _reply, 0); + this.mRemote.transact(47, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -570,7 +570,7 @@ public void deleteHistory(int idx) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeInt(idx); - this.mRemote.transact(38, _data, _reply, 0); + this.mRemote.transact(48, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -583,7 +583,7 @@ public void deleteHistoryAll() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(39, _data, _reply, 0); + this.mRemote.transact(49, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -596,7 +596,7 @@ public void musicMute() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(40, _data, _reply, 0); + this.mRemote.transact(50, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -609,7 +609,7 @@ public void musicUnmute() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(41, _data, _reply, 0); + this.mRemote.transact(51, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -622,7 +622,7 @@ public void scanStart() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(42, _data, _reply, 0); + this.mRemote.transact(52, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -635,7 +635,7 @@ public void scanStop() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(43, _data, _reply, 0); + this.mRemote.transact(53, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -649,7 +649,7 @@ public void dialOut(String s) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeString(s); - this.mRemote.transact(44, _data, _reply, 0); + this.mRemote.transact(54, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -663,7 +663,7 @@ public void dialOutSub(char b) throws RemoteException { try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); _data.writeInt(b); - this.mRemote.transact(45, _data, _reply, 0); + this.mRemote.transact(55, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -676,7 +676,7 @@ public void reDial() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(46, _data, _reply, 0); + this.mRemote.transact(56, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); @@ -689,7 +689,7 @@ public String getMusicInfo() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(47, _data, _reply, 0); + this.mRemote.transact(57, _data, _reply, 0); _reply.readException(); String _result = _reply.readString(); return _result; @@ -704,7 +704,7 @@ public int getOBDstate() throws RemoteException { Parcel _reply = Parcel.obtain(); try { _data.writeInterfaceToken("android.microntek.mtcser.BTServiceInf"); - this.mRemote.transact(48, _data, _reply, 0); + this.mRemote.transact(58, _data, _reply, 0); _reply.readException(); int _result = _reply.readInt(); return _result; @@ -769,86 +769,86 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws reply.writeNoException(); reply.writeString(_result2); return true; - case 7: + case 11: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); long _result5 = getNowDevAddr(); reply.writeNoException(); reply.writeLong(_result5); return true; - case 8: + case 12: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result2 = getNowDevName(); reply.writeNoException(); reply.writeString(_result2); return true; - case 9: + case 15: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); avPlayPause(); reply.writeNoException(); return true; - case 10: + case 16: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); avPlayStop(); reply.writeNoException(); return true; - case 11: + case 17: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); avPlayPrev(); reply.writeNoException(); return true; - case 12: + case 18: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); avPlayNext(); reply.writeNoException(); return true; - case 13: + case 19: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); answerCall(); reply.writeNoException(); return true; - case 14: + case 20: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); hangupCall(); reply.writeNoException(); return true; - case 15: + case 21: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); rejectCall(); reply.writeNoException(); return true; - case 16: + case 26: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); switchVoice(); reply.writeNoException(); return true; - case 17: + case 27: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); syncPhonebook(); reply.writeNoException(); return true; - case 18: + case 28: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result2 = getModuleName(); reply.writeNoException(); reply.writeString(_result2); return true; - case 19: + case 29: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result2 = getModulePassword(); reply.writeNoException(); reply.writeString(_result2); return true; - case 20: + case 30: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); setModuleName(data.readString()); reply.writeNoException(); return true; - case 21: + case 31: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); setModulePassword(data.readString()); reply.writeNoException(); return true; - case 22: + case 32: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); if (data.readInt() != 0) { _arg02 = true; @@ -856,7 +856,7 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws setAutoConnect(_arg02); reply.writeNoException(); return true; - case 23: + case 33: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result3 = getAutoConnect(); reply.writeNoException(); @@ -865,7 +865,7 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws } reply.writeInt(_arg0); return true; - case 24: + case 34: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); if (data.readInt() != 0) { _arg02 = true; @@ -873,7 +873,7 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws setAutoAnswer(_arg02); reply.writeNoException(); return true; - case 25: + case 35: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result3 = getAutoAnswer(); reply.writeNoException(); @@ -882,122 +882,122 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws } reply.writeInt(_arg0); return true; - case 26: + case 36: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); connectBT(data.readString()); reply.writeNoException(); return true; - case 27: + case 37: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); disconnectBT(data.readString()); reply.writeNoException(); return true; - case 28: + case 38: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); connectOBD(data.readString()); reply.writeNoException(); return true; - case 29: + case 39: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); disconnectOBD(data.readString()); reply.writeNoException(); return true; - case 30: + case 40: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); deleteOBD(data.readString()); reply.writeNoException(); return true; - case 31: + case 41: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); deleteBT(data.readString()); reply.writeNoException(); return true; - case 32: + case 42: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); syncMatchList(); reply.writeNoException(); return true; - case 33: + case 43: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result4 = getMatchList(); reply.writeNoException(); reply.writeStringList(_result4); return true; - case 34: + case 44: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result4 = getDeviceList(); reply.writeNoException(); reply.writeStringList(_result4); return true; - case 35: + case 45: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result4 = getHistoryList(); reply.writeNoException(); reply.writeStringList(_result4); return true; - case 36: + case 46: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result4 = getPhoneBookList(); reply.writeNoException(); reply.writeStringList(_result4); return true; - case 37: + case 47: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); setPhoneBookList(data.createStringArrayList()); reply.writeNoException(); return true; - case 38: + case 48: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); deleteHistory(data.readInt()); reply.writeNoException(); return true; - case 39: + case 49: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); deleteHistoryAll(); reply.writeNoException(); return true; - case 40: + case 50: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); musicMute(); reply.writeNoException(); return true; - case 41: + case 51: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); musicUnmute(); reply.writeNoException(); return true; - case 42: + case 52: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); scanStart(); reply.writeNoException(); return true; - case 43: + case 53: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); scanStop(); reply.writeNoException(); return true; - case 44: + case 54: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); dialOut(data.readString()); reply.writeNoException(); return true; - case 45: + case 55: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); dialOutSub((char) data.readInt()); reply.writeNoException(); return true; - case 46: + case 56: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); reDial(); reply.writeNoException(); return true; - case 47: + case 57: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); _result2 = getMusicInfo(); reply.writeNoException(); reply.writeString(_result2); return true; - case 48: + case 58: data.enforceInterface("android.microntek.mtcser.BTServiceInf"); int _result6 = getOBDstate(); reply.writeNoException(); diff --git a/build.gradle b/build.gradle index c2eea8e..8290789 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,7 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0fbd754..34bc47c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jun 22 17:35:36 CEST 2017 +#Fri Apr 19 12:02:25 EEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip From fde880d7bfab547bc44d684320834b85b9cab2b7 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 17:32:01 +0200 Subject: [PATCH 02/11] Update readme --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e11a531..c9439ec 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,24 @@ -#Preconditions: +# MCTD Dailer -####Google Services needs to be updated and active (it is recommended to use the newest version from Play Store) +Make hands-free phone calls on MTCD (Microntek) head unit. -#How to use it: -####1. Install and run the app. ->*First run (after device boot) can take a while to connect to Microntek Bluetooth Service (Phonebook needs to be fetched), so please be patient.* +## Preconditions -####2. When a connection to the Bluetooth Service is established, then the Google Speech Recognition activity should appear. It means that application is ready to go. +* Google Services needs to be updated and active (it is recommended to use the newest version from Play Store) -#Speech input: +## How to use it +1. Install and run the app. *First run (after device boot) can take a while to connect to Microntek Bluetooth Service (Phonebook needs to be fetched), so please be patient.* + +2. When a connection to the Bluetooth Service is established, then the Google Speech Recognition activity should appear. It means that application is ready to go. + +## Speech input To make a call just say a name of the contact stored in your PhoneBook, e.g. "Mom" or "Britney Spears" (if you have one :D) or say some digits, e.g. "One One One Seven Six Five Four Two Zero". If the name of a contact has been found in your PhoneBook or provided digits input is valid phone number, then MtcDialer will try to make a call. -#Integration with Google Voice Assistant (Google Now, "Ok, Google"): +## Integration with Google Voice Assistant (Google Now, "Ok, Google"): There is possibility to set the MtcDialer as a default Google Voice Assistant dialer app. Just do it in Google app settings. -#Integration with MtcdTools: +## Integration with MtcdTools MtcDialer is a regular app. In order to use it with MtcdTools just declare a Launch Action for MtcDialer. Then you bind the action to the desired key or execute it by a voice command. From 0f9808f7dbb24b31ca295941574fcc23fa4a4cb7 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 17:33:05 +0200 Subject: [PATCH 03/11] Update build config to support SDK 29 --- app/build.gradle | 26 +++++---- build.gradle | 27 +++++++++- gradle/common-build.gradle | 69 ++++++++++++++++++++++++ gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 110 insertions(+), 14 deletions(-) create mode 100644 gradle/common-build.gradle diff --git a/app/build.gradle b/app/build.gradle index 0ab2514..8785f80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,14 +1,17 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 28 - buildToolsVersion '28.0.0' + compileSdkVersion rootProject.ext.compileSdkVersion + buildToolsVersion rootProject.ext.buildToolsVersion + defaultConfig { - applicationId "com.f1x.mtcdialer" - minSdkVersion 21 - targetSdkVersion 26 - versionCode 1 - versionName "1.2.3" + applicationId "at.favre.mtcdialer" + + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode rootProject.ext.versionCode + versionName rootProject.ext.versionNameApp + archivesBaseName = "$applicationId-$versionName" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } @@ -21,10 +24,11 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + api 'com.android.support:appcompat-v7:28.0.0' + + testImplementation "junit:junit:$rootProject.ext.dependencies.junit" + + androidTestImplementation(group: 'com.android.support.test.espresso', name: 'espresso-core', version: rootProject.ext.dependencies.espresso, { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:28.0.0' - testCompile 'junit:junit:4.12' } diff --git a/build.gradle b/build.gradle index 8290789..723f3d8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. +apply from: "$rootDir/gradle/common-build.gradle" buildscript { repositories { + google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.5.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -14,11 +16,32 @@ buildscript { allprojects { repositories { - jcenter() google() + jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } + +ext { + + versionNameApp = "v1.3.0" + versionCode = getCiBuildNumber() + + compileSdkVersion = 29 + buildToolsVersion = "29.0.2" + targetSdkVersion = 29 + + minSdkVersion = 19 + javaVersion = JavaVersion.VERSION_1_8 + + dependencies = [ + support : "28.0.0", + constraintLayout: "1.1.3", + espresso : "3.0.2", + junit : "4.12", + stetho : "1.5.0" + ] +} diff --git a/gradle/common-build.gradle b/gradle/common-build.gradle new file mode 100644 index 0000000..7e1c421 --- /dev/null +++ b/gradle/common-build.gradle @@ -0,0 +1,69 @@ +ext { + getGitRev = this.&getGitRev + getGitCommitDate = this.&getGitCommitDate + getGitBranch = this.&getGitBranch + getSigningProperties = this.&getSigningProperties + isCiBuild = this.&isCiBuild + getCiBuildNumber = this.&getCiBuildNumber + getBuildTime = this.&getBuildTime +} + +String getGitRev() { + def git_rev = new ByteArrayOutputStream() + exec { + commandLine 'git', 'log', '-1', '--format=%H' + standardOutput = git_rev + } + git_rev = git_rev.toString().trim() + return git_rev +} + +String getGitCommitDate() { + def git_date = new ByteArrayOutputStream() + exec { + commandLine 'git', 'log', '-1', '--format=%ci' + standardOutput = git_date + } + git_date = git_date.toString().trim() + return git_date +} + +String getGitBranch() { + def git_branch = new ByteArrayOutputStream() + exec { + commandLine 'git', 'rev-parse', '--abbrev-ref', 'HEAD' + standardOutput = git_branch + ignoreExitValue = true + } + git_branch = git_branch.toString().trim() + return git_branch +} + +def getSigningProperties() { + Properties props = new Properties() + try { + props.load(new FileInputStream(file("$rootDir/local.properties"))) + } catch (Exception e) { + } + return props +} + +String getBuildTime() { + return new Date().toString() +} + +static boolean isCiBuild() { + def ciBuild = false + if (System.getenv().CI != null) { + ciBuild = Boolean.valueOf(System.getenv().CI) + } + return ciBuild +} + +static Integer getCiBuildNumber() { + def buildNumber = 1 + if (System.getenv().TRAVIS_BUILD_NUMBER != null) { + buildNumber = System.getenv().TRAVIS_BUILD_NUMBER + } + return Integer.valueOf(buildNumber) +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 34bc47c..82c527d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip From 668d473a12d0dac8b01e31f87ff8f8b44f40b62c Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 17:45:30 +0200 Subject: [PATCH 04/11] Update permissions for gradlew --- gradlew | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 gradlew diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 From c4654edeec11ece062afba2fa4a84d0913f1c8ad Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 17:45:53 +0200 Subject: [PATCH 05/11] Update launcher icon --- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 4184 -> 5869 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2612 -> 3174 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 5888 -> 7864 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 9229 -> 15052 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 13363 -> 19850 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index db0c75aaa90e39c980f04d36a186a9c1989079ab..a5e9865feb1d8053c4a5e2f50cfafcb5070261d3 100644 GIT binary patch literal 5869 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 delta 2604 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 WPcyZ7rCG870000 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 68f0526732443f87237f122d5c245914783cfaa2..132d8775e35b14e528758a1f34a8860ac35dae6b 100644 GIT binary patch literal 19850 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

#TJp8-=UuAe#% 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 Bd=~%! literal 13363 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 Date: Sun, 6 Oct 2019 17:52:04 +0200 Subject: [PATCH 06/11] Update readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c9439ec..49875da 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ Make hands-free phone calls on MTCD (Microntek) head unit. +[![GitHub release](https://img.shields.io/github/release/patrickfav/MtcDialer.svg)](https://github.com/patrickfav/MtcDialer/releases/latest) +[![Build Status](https://travis-ci.org/patrickfav/MtcDialer.svg?branch=master)](https://travis-ci.org/patrickfav/MtcDialer) + ## Preconditions * Google Services needs to be updated and active (it is recommended to use the newest version from Play Store) From 876fa06e589a7d3b9690f6644e11a419ee4dd367 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 17:52:20 +0200 Subject: [PATCH 07/11] Update travis ci config --- .travis.yml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a8006f4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,59 @@ +# Possible Issues: +# +# .gradlw permission denied: +# git update-index --chmod=+x gradlew //http://stackoverflow.com/questions/33820638/travis-yml-gradlew-permission-denied + +language: android +dist: trusty + +android: + components: + - tools # to get the new `repository-11.xml` + - platform-tools + - tools # to install Android SDK tools 25.1.x (x = 6 right now) + - build-tools-29.0.2 + - android-29 + - extra-google-m2repository + - extra-android-m2repository + licenses: + - 'android-sdk-preview-license-.+' + - 'android-sdk-license-.+' + - 'google-gdk-license-.+' + +jobs: + include: + - stage: buildDefault + if: (type IN (push)) + before_install: + - openssl aes-256-cbc -K $encrypted_0a50a6dc4585_key -iv $encrypted_0a50a6dc4585_iv -in credentials.tar.enc -out credentials.tar -d + - tar xvf credentials.tar + - mkdir "$ANDROID_HOME/licenses" || true + - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > "$ANDROID_HOME/licenses/android-sdk-license" + - echo -e "\n504667f4c0de7af1a06de9f4b1727b84351f2910" > "$ANDROID_HOME/licenses/android-sdk-preview-license" + script: + - ./gradlew clean :app:assemble --stacktrace + deploy: + - provider: releases + api_key: + secure: "lwb8DJFAgSZzlrQ+NjsLSQqMju9vt/k63DQ24GW5lPTi5ZUcharrf+VexZmnxkYlIrrfYCpimqXw6GeSpi3hsys5pTT+0J53FjGvraT8g4X21teLhWlVLBeh5pIVw3VGWOcut/nJRcD4POnXTJV6kK/78qvUpddzrqYz72S9jGRt0kxDCxjYfcYBcx1OiFogy++nA9CTkMJkUsFC3asWwBSiZK2rc3TG5NIdrrlT6F0fOWELYxc1HT3W2P1tGi2f/V4G0XRop2Qe+zWNdlggkkQzw2slKrWbmf+nPK/TMCJLgXw2Uaru+P/SHW3Amg+thAibSJQFPQ1oJmUU7MuuCBAeu+Wyv//S35BjKhmQ94C0e8bSCJajGzR6/LjtOGVsAaJWLhq0F5k7v/UeGFb8fYDFDlbelzcQf2Df0ujBagDIadFzf+MQFnoG/B94lkPA/PSa9DFqZEPf4z1uTIRL0HL5ALFxRxpCyKaydmBvV4I9hHFZ2but1Pzx07ziP0JbQK7U1XdmPUHSePe/iLKz1NaXSwAChtwqsKTzww7vOCdlgjlU4x7uphu7HWk1m35hxBR5l7wPSp+jSw7gsmXmQlqPBJeNgGzGfBmH849dcV+PeVwYHiDsNzyqaeNCEir8UQBEe2ufTB+Irt+QvNswb35VHwXz2IhcrhRUzRdEs8Y=" + file_glob: true + file: + - 'app/build/outputs/apk/release/*.aar' + skip_cleanup: true + on: + branch: master + tags: true + +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ + +cache: + directories: + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ + +notifications: + slack: + secure: "hmLLayT00t5WlI2lm5L9oofsmcQCa4+XSPDRjLhp0wEnqc+yGoU+luEugCxCJntNac38Qz823Qhep0PzGsLzrfL+FQa4t7bRqGIX0FtpYEfYucVQrcqj11N4WMYZHr39ZkglFlfsw/xNhI4N3jXL8/MH5+4HuWD1egyXwpNpTdNOx+rDeX5Wcwx/VTs1PwpAZCMt0Xqm9t4CBWOiPTE+3oVD5wjL6n+Tu1NeeD3+RPliAFOLLqrLmph/50TMoAea1/sLwCwXE9Mvep7CGYbEf3VY16T6p1o/jfnGPajsolHgYC3zj9urGnBbdqFuvpsaW3p61roBgj+53tiu5mH9S45dG+z+v0XKXp3NJdFAgkO3RrcQbq+XDwZeuov5vjnc32aikzHugJGKqbohfj4HTUySKunwpESzpDCFY8nP+mgiVWWH4y0IBkm1wYOwniCPlJ43uFZGFO+1hbbd3MDafIJlKm3BlKX50t594rox5PHD5vO72UusE3+saIPB9OHKVpw3bcL0TtU8oaqd0D8Rczv0NHsdAmimnhVnmUPUK9CPqGhSn0CmDXEvWj41Nhh5BBHN0nYn6M/nOEcM/0mul5fw0zCGhOjfkID6+rs9oQaqxy14fymJdHQcZo/4wU+o5lXrg5EmBgmA9dk2APIqV1q9FwgqBLcJnzHD61RiECc=" + email: false From fee75b4c33e1e369a97eecd26828bd741a0503e4 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 18:07:25 +0200 Subject: [PATCH 08/11] Fix travis ci config for release --- .gitignore | 3 +++ .travis.yml | 12 +++++++++--- app/build.gradle | 19 +++++++++++++++++++ app/src/main/ic_launcher-web.png | Bin 42754 -> 0 bytes app/src/main/web_hi_res_512.png | Bin 0 -> 53323 bytes credentials.tar.enc | Bin 0 -> 6672 bytes 6 files changed, 31 insertions(+), 3 deletions(-) delete mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/web_hi_res_512.png create mode 100644 credentials.tar.enc diff --git a/.gitignore b/.gitignore index 1ee9933..2a182d8 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,6 @@ captures/ *.jks .DS_Store + +signing.properties +credentials.tar diff --git a/.travis.yml b/.travis.yml index a8006f4..7cb5e6f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ jobs: - stage: buildDefault if: (type IN (push)) before_install: - - openssl aes-256-cbc -K $encrypted_0a50a6dc4585_key -iv $encrypted_0a50a6dc4585_iv -in credentials.tar.enc -out credentials.tar -d + - openssl aes-256-cbc -K $encrypted_ff9a2399977b_key -iv $encrypted_ff9a2399977b_iv -in credentials.tar.enc -out credentials.tar -d - tar xvf credentials.tar - mkdir "$ANDROID_HOME/licenses" || true - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > "$ANDROID_HOME/licenses/android-sdk-license" @@ -35,7 +35,10 @@ jobs: deploy: - provider: releases api_key: - secure: "lwb8DJFAgSZzlrQ+NjsLSQqMju9vt/k63DQ24GW5lPTi5ZUcharrf+VexZmnxkYlIrrfYCpimqXw6GeSpi3hsys5pTT+0J53FjGvraT8g4X21teLhWlVLBeh5pIVw3VGWOcut/nJRcD4POnXTJV6kK/78qvUpddzrqYz72S9jGRt0kxDCxjYfcYBcx1OiFogy++nA9CTkMJkUsFC3asWwBSiZK2rc3TG5NIdrrlT6F0fOWELYxc1HT3W2P1tGi2f/V4G0XRop2Qe+zWNdlggkkQzw2slKrWbmf+nPK/TMCJLgXw2Uaru+P/SHW3Amg+thAibSJQFPQ1oJmUU7MuuCBAeu+Wyv//S35BjKhmQ94C0e8bSCJajGzR6/LjtOGVsAaJWLhq0F5k7v/UeGFb8fYDFDlbelzcQf2Df0ujBagDIadFzf+MQFnoG/B94lkPA/PSa9DFqZEPf4z1uTIRL0HL5ALFxRxpCyKaydmBvV4I9hHFZ2but1Pzx07ziP0JbQK7U1XdmPUHSePe/iLKz1NaXSwAChtwqsKTzww7vOCdlgjlU4x7uphu7HWk1m35hxBR5l7wPSp+jSw7gsmXmQlqPBJeNgGzGfBmH849dcV+PeVwYHiDsNzyqaeNCEir8UQBEe2ufTB+Irt+QvNswb35VHwXz2IhcrhRUzRdEs8Y=" + secure: "SmQRgiyIuHV4CX0kPdFq0pvAo5fKELb3nloPfbSW1T2i4okntfM0Mx5XGwpS+QTkZRl4ZeiyLynPMI6JAQ2fDvtqzaEZsOyudiYNS2uVc8JCs8hCg+fBC/5ZNaG2hHUNGhczj0/Tn/m+52DSzz/DsGZLIWkFpaNw7VuzkHVAajH1RpZ22TswCReUUK + Pi2JJ/AiBcOQXVOc8afBVI+ciR5FytElNVmL/Kee11KFVh8/OKOgsXRwIZpkxu9WGkpFyZR3+E2lSJmBO/Tm4vNMEjNJIQKBRoujVR5exnJxYXQTcy1uMT0hkGI55gQfMOdGn1VavoImih9A8/QfR9Oxiwm/DWYXAwIozCNlqi6Ebzx5MkRuEEEyqB91Xhj37WsnA + P3YEwBupuxrySLdXp8nLqaU44389N/GeVn8hf8tTpERBPygGAvWmFg/Dtj01J9AokpcJm1f2jd+1II81uo0h3thS5UWCkoNb46Z5qW02chVvYnEnwr+n/wZxz1Xem0gLwV8SBIVxmFiPUzM2aAkWPhULqFkefWwTqDTL3rsQWl4Z41mnoQKK2B1qMsRq938hCIqDQ + pE8fHWykOmDOiUCHy5VhGp0oP09cjPMRZvQIZSqR53kjNHsQjJLXXWdHViS+OecGuU1NafND8A6VavkRWUeTDYp3E3p1X33wkwJGtAk=" file_glob: true file: - 'app/build/outputs/apk/release/*.aar' @@ -55,5 +58,8 @@ cache: notifications: slack: - secure: "hmLLayT00t5WlI2lm5L9oofsmcQCa4+XSPDRjLhp0wEnqc+yGoU+luEugCxCJntNac38Qz823Qhep0PzGsLzrfL+FQa4t7bRqGIX0FtpYEfYucVQrcqj11N4WMYZHr39ZkglFlfsw/xNhI4N3jXL8/MH5+4HuWD1egyXwpNpTdNOx+rDeX5Wcwx/VTs1PwpAZCMt0Xqm9t4CBWOiPTE+3oVD5wjL6n+Tu1NeeD3+RPliAFOLLqrLmph/50TMoAea1/sLwCwXE9Mvep7CGYbEf3VY16T6p1o/jfnGPajsolHgYC3zj9urGnBbdqFuvpsaW3p61roBgj+53tiu5mH9S45dG+z+v0XKXp3NJdFAgkO3RrcQbq+XDwZeuov5vjnc32aikzHugJGKqbohfj4HTUySKunwpESzpDCFY8nP+mgiVWWH4y0IBkm1wYOwniCPlJ43uFZGFO+1hbbd3MDafIJlKm3BlKX50t594rox5PHD5vO72UusE3+saIPB9OHKVpw3bcL0TtU8oaqd0D8Rczv0NHsdAmimnhVnmUPUK9CPqGhSn0CmDXEvWj41Nhh5BBHN0nYn6M/nOEcM/0mul5fw0zCGhOjfkID6+rs9oQaqxy14fymJdHQcZo/4wU+o5lXrg5EmBgmA9dk2APIqV1q9FwgqBLcJnzHD61RiECc=" + secure: "RYZvoEgWQNu5fJdLoNcBJ/htE0/aYi6ORLdih25g4R8EUHYhucFRMu1K0VEyxWErCSei4anyq5mxlnOjL/SIhNo3HrS/Jzu0uirj2jWsAYtzOfxtrfzsY3S6f0CFjS2f3bbbgXwAu+3NVLMYkMB7HigB7pCDP2Cs+7B9Z37NUuMsf063BUFtOQklzH + vRQDOULhN+yMmOFhP9Ivd4NtXnQySFHfu593CP7w3trzfH9zGy+7pYc3NV0xoX+jwy62s6E71MH3wOQBrZxLfdCtOsKWbS2kYT7M8kqEoqK6P1yCp0ZeexN3NZbIuGNISTjcaOR31lZLVZP6a/04xwO9/NNXVTeiq193xfRHxJrz0n8bC6rXzYlvALWwQYUxOzPgy + AEc8vbYKSGGPWOU86/T36/UXgOG+aCg/VAt/+ftZqVH4eB7yuM9NMICOHvTCMWm4IcHb41DQLwG6FfdcgOLW8m/YWuFSdWTbJJuCzPzzkCaVpYxEg3M1qfrWauoHgkUlyMESEf2dHU9BlvegPuJAFC/6TI8b63WDr87/4DvMZnK4GWtEqpfo7+EJ8fTQg95QMB8ku + qyJSVCn8MOINK/736qF2xrh31FDyK1ulp7wxwkoXQlg4vHTAQLiRfqObdTDUBjOkxpDPj1Fuh0b55w3rJ+b1f+UJqDpkvjuLJwFBZLg=" email: false diff --git a/app/build.gradle b/app/build.gradle index 8785f80..2d3ecd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,9 +1,20 @@ apply plugin: 'com.android.application' +Properties localProps = getSigningProperties() + android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion + signingConfigs { + release { + storeFile file(localProps.getProperty('RELEASE_KEYSTORE_PATH','fillhere')) + storePassword localProps.getProperty('RELEASE_KEYSTORE_PW','') + keyAlias localProps.getProperty('RELEASE_KEY_ALIAS','') + keyPassword localProps.getProperty('RELEASE_KEY_PW','') + } + } + defaultConfig { applicationId "at.favre.mtcdialer" @@ -15,10 +26,18 @@ android { archivesBaseName = "$applicationId-$versionName" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } + + compileOptions { + encoding "UTF-8" + sourceCompatibility rootProject.ext.javaVersion + targetCompatibility rootProject.ext.javaVersion + } + buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release } } } diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png deleted file mode 100644 index d28d49bd2efdcf585cf638d9f1b0b2c7afaadb05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42754 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 N*4XlN@hR8v{|A$o9o+x` diff --git a/app/src/main/web_hi_res_512.png b/app/src/main/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..aeaa390eb9db01e851c491a09fae90ab5f244780 GIT binary patch literal 53323 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 Date: Sun, 6 Oct 2019 18:17:30 +0200 Subject: [PATCH 09/11] Some minor refactorings --- .../mtcdialer/BluetoothServiceActivity.java | 60 +++++++++---------- .../java/com/f1x/mtcdialer/DialActivity.java | 2 +- .../com/f1x/mtcdialer/PhoneBookActivity.java | 57 +++++++++--------- .../com/f1x/mtcdialer/PhoneBookReceiver.java | 22 +++---- .../VoiceSelectionCallerActivity.java | 14 ++--- build.gradle | 4 +- 6 files changed, 78 insertions(+), 81 deletions(-) diff --git a/app/src/main/java/com/f1x/mtcdialer/BluetoothServiceActivity.java b/app/src/main/java/com/f1x/mtcdialer/BluetoothServiceActivity.java index c00a235..6906f0d 100644 --- a/app/src/main/java/com/f1x/mtcdialer/BluetoothServiceActivity.java +++ b/app/src/main/java/com/f1x/mtcdialer/BluetoothServiceActivity.java @@ -15,37 +15,11 @@ */ public abstract class BluetoothServiceActivity extends Activity { - @Override - protected void onCreate(Bundle savedInstance) { - super.onCreate(savedInstance); - - // PX3 - Intent startBluetoothServiceIntent = new Intent(); - startBluetoothServiceIntent.setComponent(new ComponentName("android.microntek.mtcser", "android.microntek.mtcser.BTSerialService")); - - if(!bindService(startBluetoothServiceIntent, mServiceConnection, BIND_AUTO_CREATE)) { - // PX5 - startBluetoothServiceIntent.setComponent(new ComponentName("android.microntek.mtcser", "android.microntek.mtcser.BlueToothService")); - if(!bindService(startBluetoothServiceIntent, mServiceConnection, BIND_AUTO_CREATE)) { - Toast.makeText(this, this.getText(R.string.BluetoothNotAvailable), Toast.LENGTH_LONG).show(); - finish(); - } - } - } - - @Override - protected void onDestroy() { - super.onDestroy(); - unbindService(mServiceConnection); - } - - protected abstract void onServiceConnected(); - protected abstract void onServiceDisconnected(); - + protected BTServiceInf mBluetoothServiceInterface; private final ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { - if(iBinder == null) { + if (iBinder == null) { Toast.makeText(BluetoothServiceActivity.this, BluetoothServiceActivity.this.getText(R.string.BluetoothNotAvailable), Toast.LENGTH_LONG).show(); BluetoothServiceActivity.this.finish(); return; @@ -53,7 +27,7 @@ public void onServiceConnected(ComponentName componentName, IBinder iBinder) { mBluetoothServiceInterface = BTServiceInf.Stub.asInterface(iBinder); - if(mBluetoothServiceInterface == null) { + if (mBluetoothServiceInterface == null) { Toast.makeText(BluetoothServiceActivity.this, BluetoothServiceActivity.this.getText(R.string.BluetoothNotAvailable), Toast.LENGTH_LONG).show(); BluetoothServiceActivity.this.finish(); return; @@ -76,5 +50,31 @@ public void onServiceDisconnected(ComponentName componentName) { } }; - protected BTServiceInf mBluetoothServiceInterface; + @Override + protected void onCreate(Bundle savedInstance) { + super.onCreate(savedInstance); + + // PX3 + Intent startBluetoothServiceIntent = new Intent(); + startBluetoothServiceIntent.setComponent(new ComponentName("android.microntek.mtcser", "android.microntek.mtcser.BTSerialService")); + + if (!bindService(startBluetoothServiceIntent, mServiceConnection, BIND_AUTO_CREATE)) { + // PX5 + startBluetoothServiceIntent.setComponent(new ComponentName("android.microntek.mtcser", "android.microntek.mtcser.BlueToothService")); + if (!bindService(startBluetoothServiceIntent, mServiceConnection, BIND_AUTO_CREATE)) { + Toast.makeText(this, this.getText(R.string.BluetoothNotAvailable), Toast.LENGTH_LONG).show(); + finish(); + } + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unbindService(mServiceConnection); + } + + protected abstract void onServiceConnected(); + + protected abstract void onServiceDisconnected(); } diff --git a/app/src/main/java/com/f1x/mtcdialer/DialActivity.java b/app/src/main/java/com/f1x/mtcdialer/DialActivity.java index f3ae690..af0e941 100644 --- a/app/src/main/java/com/f1x/mtcdialer/DialActivity.java +++ b/app/src/main/java/com/f1x/mtcdialer/DialActivity.java @@ -37,7 +37,7 @@ public void onServiceConnected() { String extractPhoneNumber(Intent intent) { Uri uri = intent.getData(); - if(uri != null && uri.getScheme().matches("tel|sms|smsto|mms|mmsto")) { + if (uri != null && uri.getScheme() != null && uri.getScheme().matches("tel|sms|smsto|mms|mmsto")) { return PhoneNumberUtils.normalizeNumber(uri.getSchemeSpecificPart()); } else { return null; diff --git a/app/src/main/java/com/f1x/mtcdialer/PhoneBookActivity.java b/app/src/main/java/com/f1x/mtcdialer/PhoneBookActivity.java index 2ca37ca..9042ce0 100644 --- a/app/src/main/java/com/f1x/mtcdialer/PhoneBookActivity.java +++ b/app/src/main/java/com/f1x/mtcdialer/PhoneBookActivity.java @@ -14,6 +14,32 @@ */ public abstract class PhoneBookActivity extends BluetoothServiceActivity { + protected Map mPhoneBookRecords; + private final PhoneBookReceiver mPhoneBookReceiver = new PhoneBookReceiver() { + List mRawPhoneBookRecords = new ArrayList<>(); + + @Override + public void onPhoneBookRecordFetched(String record) { + mRawPhoneBookRecords.add(record); + } + + @Override + public void onPhoneBookFetchFinished() { + this.unregister(PhoneBookActivity.this); + PhoneBookActivity.this.buildPhoneBook(mRawPhoneBookRecords); + + try { + PhoneBookActivity.this.mBluetoothServiceInterface.setPhoneBookList(mRawPhoneBookRecords); + } catch (RemoteException e) { + e.printStackTrace(); + Toast.makeText(PhoneBookActivity.this, e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + } + + PhoneBookActivity.this.onPhoneBookFetchFinished(); + mRawPhoneBookRecords.clear(); + } + }; + @Override protected void onCreate(Bundle savedInstance) { super.onCreate(savedInstance); @@ -31,7 +57,7 @@ protected void onServiceConnected() { try { List phoneBookRecords = mBluetoothServiceInterface.getPhoneBookList(); - if(!phoneBookRecords.isEmpty()) { + if (!phoneBookRecords.isEmpty()) { buildPhoneBook(phoneBookRecords); onPhoneBookFetchFinished(); } else { @@ -46,7 +72,7 @@ protected void onServiceConnected() { } private void buildPhoneBook(List phoneBookRecords) { - for(String phoneBookRecord : phoneBookRecords) { + for (String phoneBookRecord : phoneBookRecords) { String[] parsedRecord = phoneBookRecord.split("\\^"); String contactName = parsedRecord[0].trim().replaceAll(" +", " "); String phoneNumber = parsedRecord[1].replaceAll("[^\\d\\+]", ""); @@ -56,31 +82,4 @@ private void buildPhoneBook(List phoneBookRecords) { } protected abstract void onPhoneBookFetchFinished(); - - private final PhoneBookReceiver mPhoneBookReceiver = new PhoneBookReceiver() { - @Override - public void onPhoneBookRecordFetched(String record) { - mRawPhoneBookRecords.add(record); - } - - @Override - public void onPhoneBookFetchFinished() { - this.unregister(PhoneBookActivity.this); - PhoneBookActivity.this.buildPhoneBook(mRawPhoneBookRecords); - - try { - PhoneBookActivity.this.mBluetoothServiceInterface.setPhoneBookList(mRawPhoneBookRecords); - } catch (RemoteException e) { - e.printStackTrace(); - Toast.makeText(PhoneBookActivity.this, e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); - } - - PhoneBookActivity.this.onPhoneBookFetchFinished(); - mRawPhoneBookRecords.clear(); - } - - List mRawPhoneBookRecords = new ArrayList<>(); - }; - - protected Map mPhoneBookRecords; } diff --git a/app/src/main/java/com/f1x/mtcdialer/PhoneBookReceiver.java b/app/src/main/java/com/f1x/mtcdialer/PhoneBookReceiver.java index eceb7d6..f795282 100644 --- a/app/src/main/java/com/f1x/mtcdialer/PhoneBookReceiver.java +++ b/app/src/main/java/com/f1x/mtcdialer/PhoneBookReceiver.java @@ -10,6 +10,11 @@ */ public abstract class PhoneBookReceiver extends BroadcastReceiver { + private final String BLUETOOTH_REPORT_ACTION = "com.microntek.bt.report"; + private final String PHONEBOOK_RECORD_EXTRA = "phonebook_record"; + private final String PHONEBOOK_SYNC_END_EXTRA = "phonebook_end"; + private boolean mRegistered; + public PhoneBookReceiver() { mRegistered = false; } @@ -25,8 +30,12 @@ public void onReceive(Context context, Intent intent) { } } + public abstract void onPhoneBookRecordFetched(String record); + + public abstract void onPhoneBookFetchFinished(); + public void register(Context context) { - if(!mRegistered) { + if (!mRegistered) { mRegistered = true; IntentFilter intentFilter = new IntentFilter(); @@ -37,18 +46,9 @@ public void register(Context context) { } public void unregister(Context context) { - if(mRegistered) { + if (mRegistered) { mRegistered = false; context.unregisterReceiver(this); } } - - public abstract void onPhoneBookRecordFetched(String record); - public abstract void onPhoneBookFetchFinished(); - - private boolean mRegistered; - - private final String BLUETOOTH_REPORT_ACTION = "com.microntek.bt.report"; - private final String PHONEBOOK_RECORD_EXTRA = "phonebook_record"; - private final String PHONEBOOK_SYNC_END_EXTRA = "phonebook_end"; } diff --git a/app/src/main/java/com/f1x/mtcdialer/VoiceSelectionCallerActivity.java b/app/src/main/java/com/f1x/mtcdialer/VoiceSelectionCallerActivity.java index 95c79a9..11eccc3 100644 --- a/app/src/main/java/com/f1x/mtcdialer/VoiceSelectionCallerActivity.java +++ b/app/src/main/java/com/f1x/mtcdialer/VoiceSelectionCallerActivity.java @@ -4,7 +4,6 @@ import android.net.Uri; import android.os.Bundle; import android.speech.RecognizerIntent; -import android.telephony.PhoneNumberUtils; import android.widget.Toast; import java.util.List; @@ -22,10 +21,7 @@ protected void onCreate(Bundle savedInstance) { } @Override - protected void onServiceDisconnected() {} - - @Override - protected void onPhoneBookFetchFinished() { + protected void onPhoneBookFetchFinished() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().toString()); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, this.getText(R.string.SpeechPrompt)); @@ -33,6 +29,10 @@ protected void onPhoneBookFetchFinished() { startActivityForResult(intent, 1); } + @Override + protected void onServiceDisconnected() { + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK || data == null) { @@ -42,7 +42,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } List texts = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); - if (texts.isEmpty()) { + if (texts != null && texts.isEmpty()) { Toast.makeText(this, this.getText(R.string.SpeechNotRecognized), Toast.LENGTH_LONG).show(); VoiceSelectionCallerActivity.this.finish(); return; @@ -68,7 +68,7 @@ private void processSpeechInput(String input) { phoneNumber = input; } - if(phoneNumber != null) { + if (phoneNumber != null) { final String message = String.format(this.getString(R.string.CallingTo), input); Toast.makeText(this, message, Toast.LENGTH_LONG).show(); diff --git a/build.gradle b/build.gradle index 723f3d8..5cc0b45 100644 --- a/build.gradle +++ b/build.gradle @@ -34,14 +34,12 @@ ext { buildToolsVersion = "29.0.2" targetSdkVersion = 29 - minSdkVersion = 19 + minSdkVersion = 21 javaVersion = JavaVersion.VERSION_1_8 dependencies = [ support : "28.0.0", - constraintLayout: "1.1.3", espresso : "3.0.2", junit : "4.12", - stetho : "1.5.0" ] } From b7c37aadb014c7accb9a487c1bd1dc514a744d28 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 18:20:31 +0200 Subject: [PATCH 10/11] Update CHANGELOG and LICENSE --- CHANGELOG | 10 +++ LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 211 insertions(+) create mode 100644 CHANGELOG create mode 100644 LICENSE diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..927196e --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,10 @@ +# Releases + +## v1.3.0 +* update to SDK 29 +* update launcher icon +* update application id to `at.favre.mtcdialer` +* add CI build + +## v1.2.2 + * initial release (fork version) -> https://github.com/f1xpl/MtcDialer/releases diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d776e6f --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2019 Patrick Favre-Bulle + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 41b1830539c5c419438148d435388d6e3616c4a7 Mon Sep 17 00:00:00 2001 From: pfavre Date: Sun, 6 Oct 2019 18:35:36 +0200 Subject: [PATCH 11/11] Update ci config --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7cb5e6f..c536331 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,7 +41,7 @@ jobs: pE8fHWykOmDOiUCHy5VhGp0oP09cjPMRZvQIZSqR53kjNHsQjJLXXWdHViS+OecGuU1NafND8A6VavkRWUeTDYp3E3p1X33wkwJGtAk=" file_glob: true file: - - 'app/build/outputs/apk/release/*.aar' + - 'app/build/outputs/apk/release/*.apk' skip_cleanup: true on: branch: master