diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..35ffc65 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,10 +1,13 @@
+
-
+
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index fd11462..7f661ce 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
+ compileSdkVersion 32
defaultConfig {
applicationId "gujc.directtalk9"
minSdkVersion 16
- targetSdkVersion 27
+ targetSdkVersion 32
versionCode 1
versionName "1.0"
multiDexEnabled true
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
@@ -17,31 +17,30 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- buildToolsVersion "27.0.3"
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:27.1.1'
- implementation 'com.android.support:design:27.1.1'
- implementation 'com.android.support.constraint:constraint-layout:1.1.2'
+ implementation 'androidx.appcompat:appcompat:1.4.1'
+ implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
- implementation 'com.google.firebase:firebase-auth:15.0.0'
- implementation 'com.google.firebase:firebase-messaging:15.0.2'
- implementation 'com.google.firebase:firebase-storage:15.0.2'
- implementation 'com.google.firebase:firebase-firestore:17.1.0'
+ implementation 'com.google.firebase:firebase-auth:21.0.3'
+ implementation 'com.google.firebase:firebase-messaging:23.0.3'
+ implementation 'com.google.firebase:firebase-storage:20.0.1'
+ implementation 'com.google.firebase:firebase-firestore:24.1.1'
implementation 'com.firebaseui:firebase-ui-storage:4.1.0'
- implementation 'com.google.code.gson:gson:2.8.5'
- implementation 'com.squareup.okhttp3:okhttp:3.10.0'
+ implementation 'com.google.code.gson:gson:2.8.9'
+ implementation 'com.squareup.okhttp3:okhttp:3.12.13'
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
apply plugin: 'com.google.gms.google-services'
diff --git a/app/src/androidTest/java/gujc/directtalk9/ExampleInstrumentedTest.java b/app/src/androidTest/java/gujc/directtalk9/ExampleInstrumentedTest.java
index 72f5d74..83a830b 100644
--- a/app/src/androidTest/java/gujc/directtalk9/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/gujc/directtalk9/ExampleInstrumentedTest.java
@@ -1,8 +1,8 @@
package gujc.directtalk9;
import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f47b076..768a514 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,10 +15,12 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
+
+ android:theme="@style/SplashTheme"
+ android:exported="true">
@@ -36,14 +38,15 @@
-
+
@@ -52,6 +55,7 @@
android:resource="@xml/provider_paths"/>
+
\ No newline at end of file
diff --git a/app/src/main/java/gujc/directtalk9/LoginActivity.java b/app/src/main/java/gujc/directtalk9/LoginActivity.java
index 6fe1ec3..3dcf4df 100644
--- a/app/src/main/java/gujc/directtalk9/LoginActivity.java
+++ b/app/src/main/java/gujc/directtalk9/LoginActivity.java
@@ -4,8 +4,8 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
diff --git a/app/src/main/java/gujc/directtalk9/MainActivity.java b/app/src/main/java/gujc/directtalk9/MainActivity.java
index 10eafad..5af037b 100644
--- a/app/src/main/java/gujc/directtalk9/MainActivity.java
+++ b/app/src/main/java/gujc/directtalk9/MainActivity.java
@@ -1,15 +1,19 @@
package gujc.directtalk9;
import android.content.Intent;
-import android.support.design.widget.TabLayout;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
-
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.view.ViewPager;
+
+import com.google.android.gms.tasks.OnSuccessListener;
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
@@ -18,7 +22,7 @@
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.SetOptions;
-import com.google.firebase.iid.FirebaseInstanceId;
+import com.google.firebase.messaging.FirebaseMessaging;
import java.util.HashMap;
import java.util.Map;
@@ -31,12 +35,12 @@
public class MainActivity extends AppCompatActivity {
/**
- * The {@link android.support.v4.view.PagerAdapter} that will provide
+ * The {@link PagerAdapter} that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
- * {@link android.support.v4.app.FragmentStatePagerAdapter}.
+ * {@link FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;
@@ -101,10 +105,15 @@ public void onClick(View v) {
void sendRegistrationToServer() {
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
- String token = FirebaseInstanceId.getInstance().getToken();
- Map map = new HashMap<>();
- map.put("token", token);
- FirebaseFirestore.getInstance().collection("users").document(uid).set(map, SetOptions.merge());
+ FirebaseMessaging.getInstance().getToken().addOnSuccessListener(new OnSuccessListener() {
+ @Override
+ public void onSuccess(String s) {
+ Map map = new HashMap<>();
+ map.put("token", s);
+ FirebaseFirestore.getInstance().collection("users").document(uid).set(map, SetOptions.merge());
+ }
+ });
+
}
@Override
diff --git a/app/src/main/java/gujc/directtalk9/UserPWActivity.java b/app/src/main/java/gujc/directtalk9/UserPWActivity.java
index eb3a0ff..c709a46 100644
--- a/app/src/main/java/gujc/directtalk9/UserPWActivity.java
+++ b/app/src/main/java/gujc/directtalk9/UserPWActivity.java
@@ -1,8 +1,8 @@
package gujc.directtalk9;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
diff --git a/app/src/main/java/gujc/directtalk9/chat/ChatActivity.java b/app/src/main/java/gujc/directtalk9/chat/ChatActivity.java
index 46aa526..442a8ef 100644
--- a/app/src/main/java/gujc/directtalk9/chat/ChatActivity.java
+++ b/app/src/main/java/gujc/directtalk9/chat/ChatActivity.java
@@ -1,17 +1,16 @@
package gujc.directtalk9.chat;
import android.os.Bundle;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import gujc.directtalk9.R;
import gujc.directtalk9.fragment.ChatFragment;
import gujc.directtalk9.fragment.UserListInRoomFragment;
-import gujc.directtalk9.model.ChatModel;
public class ChatActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;
diff --git a/app/src/main/java/gujc/directtalk9/chat/SelectUserActivity.java b/app/src/main/java/gujc/directtalk9/chat/SelectUserActivity.java
index 255149b..0f3f03e 100644
--- a/app/src/main/java/gujc/directtalk9/chat/SelectUserActivity.java
+++ b/app/src/main/java/gujc/directtalk9/chat/SelectUserActivity.java
@@ -2,10 +2,10 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/gujc/directtalk9/common/FirestoreAdapter.java b/app/src/main/java/gujc/directtalk9/common/FirestoreAdapter.java
index 890009d..9294a01 100644
--- a/app/src/main/java/gujc/directtalk9/common/FirestoreAdapter.java
+++ b/app/src/main/java/gujc/directtalk9/common/FirestoreAdapter.java
@@ -1,6 +1,6 @@
package gujc.directtalk9.common;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import com.google.firebase.firestore.DocumentChange;
diff --git a/app/src/main/java/gujc/directtalk9/common/MyFirebaseMessagingService.java b/app/src/main/java/gujc/directtalk9/common/MyFirebaseMessagingService.java
index 01fca22..3623aba 100644
--- a/app/src/main/java/gujc/directtalk9/common/MyFirebaseMessagingService.java
+++ b/app/src/main/java/gujc/directtalk9/common/MyFirebaseMessagingService.java
@@ -9,7 +9,7 @@
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
-import android.support.v4.app.NotificationCompat;
+import androidx.core.app.NotificationCompat;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
diff --git a/app/src/main/java/gujc/directtalk9/common/Util9.java b/app/src/main/java/gujc/directtalk9/common/Util9.java
index 7cd1d27..7d59d0b 100644
--- a/app/src/main/java/gujc/directtalk9/common/Util9.java
+++ b/app/src/main/java/gujc/directtalk9/common/Util9.java
@@ -1,12 +1,11 @@
package gujc.directtalk9.common;
-import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Environment;
-import android.support.v4.app.ActivityCompat;
+import androidx.core.app.ActivityCompat;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
diff --git a/app/src/main/java/gujc/directtalk9/fragment/ChatFragment.java b/app/src/main/java/gujc/directtalk9/fragment/ChatFragment.java
index 5fbd144..91c27fa 100644
--- a/app/src/main/java/gujc/directtalk9/fragment/ChatFragment.java
+++ b/app/src/main/java/gujc/directtalk9/fragment/ChatFragment.java
@@ -14,12 +14,12 @@
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.OpenableColumns;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.content.FileProvider;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.core.content.FileProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -66,7 +66,6 @@
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/app/src/main/java/gujc/directtalk9/fragment/ChatRoomFragment.java b/app/src/main/java/gujc/directtalk9/fragment/ChatRoomFragment.java
index 52d6138..b22488c 100644
--- a/app/src/main/java/gujc/directtalk9/fragment/ChatRoomFragment.java
+++ b/app/src/main/java/gujc/directtalk9/fragment/ChatRoomFragment.java
@@ -3,13 +3,13 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -22,7 +22,6 @@
import com.bumptech.glide.request.RequestOptions;
import gujc.directtalk9.R;
import gujc.directtalk9.chat.ChatActivity;
-import gujc.directtalk9.model.ChatModel;
import gujc.directtalk9.model.ChatRoomModel;
import gujc.directtalk9.model.Message;
import gujc.directtalk9.model.UserModel;
diff --git a/app/src/main/java/gujc/directtalk9/fragment/UserFragment.java b/app/src/main/java/gujc/directtalk9/fragment/UserFragment.java
index 874a2ed..e93c094 100644
--- a/app/src/main/java/gujc/directtalk9/fragment/UserFragment.java
+++ b/app/src/main/java/gujc/directtalk9/fragment/UserFragment.java
@@ -1,13 +1,13 @@
package gujc.directtalk9.fragment;
import android.graphics.Bitmap;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/app/src/main/java/gujc/directtalk9/fragment/UserListFragment.java b/app/src/main/java/gujc/directtalk9/fragment/UserListFragment.java
index f7618aa..aaefeb3 100644
--- a/app/src/main/java/gujc/directtalk9/fragment/UserListFragment.java
+++ b/app/src/main/java/gujc/directtalk9/fragment/UserListFragment.java
@@ -1,12 +1,12 @@
package gujc.directtalk9.fragment;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/gujc/directtalk9/fragment/UserListInRoomFragment.java b/app/src/main/java/gujc/directtalk9/fragment/UserListInRoomFragment.java
index b8d8e30..b0a46e0 100644
--- a/app/src/main/java/gujc/directtalk9/fragment/UserListInRoomFragment.java
+++ b/app/src/main/java/gujc/directtalk9/fragment/UserListInRoomFragment.java
@@ -2,11 +2,11 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/gujc/directtalk9/photoview/HackyViewPager.java b/app/src/main/java/gujc/directtalk9/photoview/HackyViewPager.java
index 397ce53..b3d4d5e 100644
--- a/app/src/main/java/gujc/directtalk9/photoview/HackyViewPager.java
+++ b/app/src/main/java/gujc/directtalk9/photoview/HackyViewPager.java
@@ -1,7 +1,7 @@
package gujc.directtalk9.photoview;
import android.content.Context;
-import android.support.v4.view.ViewPager;
+import androidx.viewpager.widget.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/app/src/main/java/gujc/directtalk9/photoview/ViewPagerActivity.java b/app/src/main/java/gujc/directtalk9/photoview/ViewPagerActivity.java
index 328af0a..c0c358e 100644
--- a/app/src/main/java/gujc/directtalk9/photoview/ViewPagerActivity.java
+++ b/app/src/main/java/gujc/directtalk9/photoview/ViewPagerActivity.java
@@ -18,12 +18,12 @@
import android.Manifest;
import android.app.Activity;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
index 0557fb3..2c50f1d 100644
--- a/app/src/main/res/layout/activity_chat.xml
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -5,7 +5,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
+
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index cad8d9b..d5c61f0 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -14,7 +14,7 @@
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"/>
-
-
+
-
-
+