Browse Source

add updates app

Evgeny Polivanov 2 years ago
parent
commit
921e6c54e8

+ 0 - 17
.idea/deploymentTargetDropDown.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="deploymentTargetDropDown">
-    <runningDeviceTargetSelectedWithDropDown>
-      <Target>
-        <type value="RUNNING_DEVICE_TARGET" />
-        <deviceKey>
-          <Key>
-            <type value="VIRTUAL_DEVICE_PATH" />
-            <value value="C:\Users\poliv\.android\avd\of_R_of_Pixel_API_31.avd" />
-          </Key>
-        </deviceKey>
-      </Target>
-    </runningDeviceTargetSelectedWithDropDown>
-    <timeTargetWasSelectedWithDropDown value="2022-07-21T14:24:56.902804Z" />
-  </component>
-</project>

+ 3 - 1
.idea/misc.xml

@@ -7,11 +7,13 @@
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/drawable/ic_launcher_background.xml" value="0.2025" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_chat.xml" value="0.22" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_chats_list.xml" value="0.3546875" />
-        <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_main.xml" value="0.5" />
+        <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_main.xml" value="0.33" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_room.xml" value="0.246875" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/layout/activity_rooms.xml" value="0.1" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" value="0.2025" />
         <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.2025" />
+        <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/xml/network_security_config.xml" value="0.24583333333333332" />
+        <entry key="..\:/Users/poliv/AndroidStudioProjects/test2Smack/app/src/main/res/xml/provider_paths.xml" value="0.19444444444444445" />
       </map>
     </option>
   </component>

+ 1 - 1
app/build.gradle

@@ -36,7 +36,7 @@ dependencies {
     implementation "org.igniterealtime.smack:smack-im:4.4.0"
     // Optional for XMPP extensions support
     implementation "org.igniterealtime.smack:smack-extensions:4.4.0"
-
+    implementation 'com.github.Piashsarker:AndroidAppUpdateLibrary:1.0.4'
     implementation 'androidx.appcompat:appcompat:1.4.2'
     implementation 'com.google.android.material:material:1.6.1'
     implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

+ 17 - 2
app/src/main/AndroidManifest.xml

@@ -6,17 +6,24 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
-
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
     <meta-data
         android:name="com.drinkertea.test2smack.default_notification_channel_id"
         android:value="@string/default_notification_channel_id" />
 
     <application
         android:allowBackup="true"
+        android:requestLegacyExternalStorage="true"
+        android:preserveLegacyExternalStorage="true"
         android:dataExtractionRules="@xml/data_extraction_rules"
         android:fullBackupContent="@xml/backup_rules"
         android:icon="@mipmap/ic_launcher"
         android:label="ShariX Open Chat"
+
+        android:usesCleartextTraffic="true"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/Theme.Test2Smack"
@@ -42,7 +49,15 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-
+        <provider
+            android:name="androidx.core.content.FileProvider"
+            android:authorities="${applicationId}.provider"
+            android:exported="false"
+            android:grantUriPermissions="true">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/provider_paths"/>
+        </provider>
         <service android:name=".NotificationService" />
     </application>
 

+ 13 - 1
app/src/main/java/com/drinkertea/test2smack/MainActivity.java

@@ -2,11 +2,16 @@ package com.drinkertea.test2smack;
 
 import androidx.appcompat.app.AppCompatActivity;
 
+import android.app.Dialog;
+import android.app.ProgressDialog;
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.Handler;
 import android.view.View;
 import android.widget.EditText;
 
+import com.dcastalia.localappupdate.DownloadApk;
+
 import org.jivesoftware.smack.AbstractXMPPConnection;
 import org.jivesoftware.smack.MessageListener;
 import org.jivesoftware.smack.XMPPConnection;
@@ -33,6 +38,8 @@ import org.jxmpp.jid.parts.Resourcepart;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
 
 
 public class MainActivity extends AppCompatActivity {
@@ -49,7 +56,6 @@ public class MainActivity extends AppCompatActivity {
 
         ETemail = (EditText) findViewById(R.id.ETEmail);
         ETpassword = (EditText) findViewById(R.id.ETPassword);
-
     }
 
     public void RunService(){
@@ -103,4 +109,10 @@ public class MainActivity extends AppCompatActivity {
     public void stopNotificationClick(View view) throws Exception{
         stopService(new Intent(this, NotificationService.class));
     }
+
+    public void updateApp(View view) throws Exception{
+        String BASEURL = "https://github.com/WorldOfPets/test_apk_file/raw/master/app-debug.apk";
+        DownloadApk downloadApk = new DownloadApk(MainActivity.this);
+        downloadApk.startDownloadingApk(BASEURL);
+    }
 }

+ 0 - 1
app/src/main/java/com/drinkertea/test2smack/XMPPClass.java

@@ -93,7 +93,6 @@ public class XMPPClass {
 
     public static List<Message> CreateRoomListMessage(int message_count, MultiUserChat muc_conn){
         try {
-
             MamManager mamManager = MamManager.getInstanceFor(muc_conn);
             MamManager.MamQueryArgs mamQueryArgs = MamManager.MamQueryArgs.builder()
                     .setResultPageSizeTo(message_count)

+ 9 - 0
app/src/main/res/layout/activity_main.xml

@@ -75,6 +75,15 @@
             android:onClick="stopNotificationClick"
             android:text="Stop notification"
             app:layout_constraintTop_toBottomOf="@+id/test" />
+        <Button
+            android:id="@+id/UpdateButton"
+            android:layout_width="200dp"
+            android:layout_height="40dp"
+            android:text="Update app"
+            android:onClick="updateApp"
+            android:textColor="#0081FF"
+            android:background="@android:color/transparent"
+            app:layout_constraintTop_toBottomOf="@+id/test" />
     </LinearLayout>
 
 

+ 5 - 0
app/src/main/res/xml/network_security_config.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<network-security-config>
+    <base-config cleartextTrafficPermitted="true" />
+
+</network-security-config>

+ 4 - 0
app/src/main/res/xml/provider_paths.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<paths xmlns:android="http://schemas.android.com/apk/res/android">
+    <external-path name="external_files" path="."/>
+</paths>

+ 1 - 0
settings.gradle

@@ -12,6 +12,7 @@ dependencyResolutionManagement {
         maven {
             url 'https://oss.sonatype.org/content/repositories/snapshots'
         }
+        maven { url 'https://jitpack.io' }
         mavenCentral()
     }
 }