Skip to content

Commit d1cbcdf

Browse files
committed
Merge branch 'develop'
2 parents 0e32203 + 391cb3a commit d1cbcdf

File tree

82 files changed

+4746
-5159
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+4746
-5159
lines changed

app/build.gradle

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ android {
5252
applicationId "me.tagavari.airmessage"
5353
minSdkVersion 23
5454
targetSdkVersion 31
55-
versionName "3.3.8"
56-
versionCode 132
57-
55+
versionName "3.4.0"
56+
versionCode 133
57+
5858
resConfigs "en", "fr", "ja"
59-
59+
6060
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
6161
}
6262
buildTypes {
@@ -86,14 +86,12 @@ android {
8686
}
8787
}
8888
}
89-
lintOptions {
90-
abortOnError false
91-
}
9289
productFlavors {
9390
}
9491
packagingOptions {
95-
exclude "META-INF/DEPENDENCIES"
96-
exclude "META-INF/LICENSE"
92+
resources {
93+
excludes += ["META-INF/DEPENDENCIES", "META-INF/LICENSE"]
94+
}
9795
}
9896
testOptions {
9997
unitTests.includeAndroidResources = true
@@ -110,6 +108,9 @@ android {
110108
androidResources {
111109
noCompress 'tflite'
112110
}
111+
lint {
112+
abortOnError false
113+
}
113114
}
114115

115116
dependencies {
@@ -183,12 +184,20 @@ dependencies {
183184
implementation "com.google.android.gms:play-services-location:19.0.1"
184185
implementation "com.google.android.gms:play-services-auth:20.0.1"
185186

187+
//CameraX
188+
def camerax_version = "1.0.1"
189+
implementation "androidx.camera:camera-camera2:$camerax_version"
190+
implementation "androidx.camera:camera-lifecycle:$camerax_version"
191+
implementation "androidx.camera:camera-view:1.0.0-alpha31"
192+
193+
186194
//About libraries
187195
implementation "com.mikepenz:aboutlibraries-core:$aboutlibs_version"
188196
implementation "com.mikepenz:aboutlibraries:$aboutlibs_version"
189197

190198
//Tools
191199
implementation "com.googlecode.ez-vcard:ez-vcard:0.11.3"
200+
implementation "org.commonmark:commonmark:0.18.0"
192201

193202
//Backend
194203
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

app/src/main/AndroidManifest.xml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
99
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
1010
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
11+
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
1112

1213
<!-- Dangerous permissions -->
14+
<uses-permission android:name="android.permission.CAMERA" />
1315
<uses-permission android:name="android.permission.RECORD_AUDIO" />
1416
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1517
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@@ -120,6 +122,16 @@
120122
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
121123
</activity>
122124

125+
<!-- Server update -->
126+
<activity
127+
android:exported="false"
128+
android:name=".activity.ServerUpdate"
129+
android:theme="@style/DayNight.NoActionBar.Protected"
130+
android:parentActivityName=".activity.Conversations"
131+
android:label="@string/screen_serverupdate">
132+
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
133+
</activity>
134+
123135
<!-- Image draw -->
124136
<!-- <activity
125137
android:exported="false"
@@ -189,6 +201,36 @@
189201
android:theme="@style/DayNight.NoActionBar">
190202
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
191203
</activity>
204+
205+
<!-- FaceTime -->
206+
<activity
207+
android:exported="false"
208+
android:name=".activity.CallHistory"
209+
android:parentActivityName=".activity.Conversations"
210+
android:theme="@style/ThemeFaceTime">
211+
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
212+
</activity>
213+
214+
<!-- New FaceTime -->
215+
<activity
216+
android:exported="false"
217+
android:name=".activity.NewFaceTime"
218+
android:label="@string/screen_newfacetime"
219+
android:parentActivityName=".activity.CallHistory"
220+
android:theme="@style/DayNight.NoActionBar.Protected.FaceTime"
221+
android:windowSoftInputMode="adjustResize|stateVisible">
222+
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
223+
</activity>
224+
225+
<!-- FaceTime call -->
226+
<activity
227+
android:exported="false"
228+
android:name=".activity.FaceTimeCall"
229+
android:parentActivityName=".activity.CallHistory"
230+
android:theme="@style/ThemeFaceTime"
231+
android:documentLaunchMode="intoExisting">
232+
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
233+
</activity>
192234

193235
<!-- Crash report -->
194236
<activity

app/src/main/java/me/tagavari/airmessage/MainApplication.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import android.app.Application;
44
import android.content.Context;
55
import android.content.Intent;
6+
import android.content.pm.ApplicationInfo;
67
import android.content.pm.PackageManager;
78
import android.database.ContentObserver;
89
import android.os.Build;
910
import android.os.Handler;
1011
import android.os.Process;
1112
import android.provider.ContactsContract;
13+
import android.webkit.WebView;
1214

1315
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
1416
import androidx.preference.PreferenceManager;
@@ -35,6 +37,8 @@
3537
import me.tagavari.airmessage.enums.ProxyType;
3638
import me.tagavari.airmessage.helper.NotificationHelper;
3739
import me.tagavari.airmessage.helper.ThemeHelper;
40+
import me.tagavari.airmessage.redux.ReduxEmitterNetwork;
41+
import me.tagavari.airmessage.redux.ReduxReceiverFaceTime;
3842
import me.tagavari.airmessage.redux.ReduxReceiverNotification;
3943
import me.tagavari.airmessage.redux.ReduxReceiverShortcut;
4044
import me.tagavari.airmessage.worker.SystemMessageCleanupWorker;
@@ -116,13 +120,17 @@ public void onCreate() {
116120

117121
//Registering the content observer
118122
if(canUseContacts(this)) registerContactsListener();
123+
124+
//Load the initial FaceTime support state
125+
ReduxEmitterNetwork.getServerFaceTimeSupportSubject().onNext(SharedPreferencesManager.getServerSupportsFaceTime(this));
119126

120127
//Listening for content changes
121128
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
122129
new ReduxReceiverShortcut(this).initialize();
123130
}
124131
new ReduxReceiverNotification(this).initialize();
125-
132+
new ReduxReceiverFaceTime(this).initialize();
133+
126134
//Checking if text message integration is not permitted
127135
if(!Preferences.isTextMessageIntegrationActive(this)) {
128136
boolean cleanUpMessages = false;
@@ -158,6 +166,11 @@ else if(SharedPreferencesManager.getTextMessageConversationsInstalled(this)) {
158166

159167
//Initializing Google Maps
160168
MapsInitializer.initialize(getApplicationContext(), MapsInitializer.Renderer.LATEST, null);
169+
170+
//Enable WebView debugging
171+
if(0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
172+
WebView.setWebContentsDebuggingEnabled(true);
173+
}
161174
}
162175

163176
public static MainApplication getInstance() {

0 commit comments

Comments
 (0)