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"/> - - + - - +