diff --git a/Chat-Android/README.md b/Chat-Android/README.md
index 04e6f8d..4854f3e 100644
--- a/Chat-Android/README.md
+++ b/Chat-Android/README.md
@@ -28,19 +28,19 @@ The project uses a single app to combine a variety of functionalities.Each funct
- Physical Android device or Android simulator with Android 5.0+
- Android Studio (latest version recommended)
-- JDK (1.8+)
+- JDK (17+)
### Steps to run
1. Clone this project to local
2. In Android Studio, open `/Chat-Android/`.
3. Sync the project with Gradle files.
-4. If you want to use your own App Key for the experience, you can edit the `Chat-Android/app/src/main/res/values/strings.xml` file.
- - Replace `YOUR APP KEY` with your App KEY.
+4. If you want to use your own App ID for the experience, you can edit the `Chat-Android/app/src/main/res/values/strings.xml` file.
+ - Replace `YOUR APP ID` with your App ID.
- Replace `YOUR LOGIN URL` with the address of the App Server you built to get Agora Chat Token.
- Replace `YOUR REGISTER USER URL` with the address of the registered Agora Chat user on the App Server you built.
```xml
- YOUR APP KEY
+ YOUR APP ID
YOUR LOGIN URL
YOUR REGISTER URL
```
diff --git a/Chat-Android/README.zh.md b/Chat-Android/README.zh.md
index 4e5a2a0..f6ffe9d 100644
--- a/Chat-Android/README.zh.md
+++ b/Chat-Android/README.zh.md
@@ -29,19 +29,19 @@ _[English](README.md) | 中文_
- 真实的 Android 设备或 Android 虚拟机
- Android Studio (推荐最新版)
-- JDK (1.8以上)
+- JDK (17及以上)
### 运行步骤
1. 克隆本项目到本地
2. 在 Android Studio 中,打开 /Chat-Android/。
3. 将项目与 Gradle 文件同步。
-4. 如果你想使用自己的 App Key 进行体验,你可以编辑 `Chat-Android/app/src/main/res/values/strings.xml` 文件。
- - 将 `YOUR APP KEY` 替换为你的 App Key。
+4. 如果你想使用自己的 App ID 进行体验,你可以编辑 `Chat-Android/app/src/main/res/values/strings.xml` 文件。
+ - 将 `YOUR APP ID` 替换为你的 App ID。
- 将 `YOUR LOGIN URL` 替换为你搭建的 App Server 获取 Agora Chat Token 的地址。
- 将 `YOUR REGISTER USER URL` 替换为你搭建的 App Server 注册 Agora Chat 用户的地址。
```xml
- YOUR APP KEY
+ YOUR APP ID
YOUR LOGIN URL
YOUR REGISTER URL
```
diff --git a/Chat-Android/app/README.md b/Chat-Android/app/README.md
index 22aee37..9d1b203 100644
--- a/Chat-Android/app/README.md
+++ b/Chat-Android/app/README.md
@@ -271,17 +271,19 @@ To enable your app to send and receive messages between individual users, do the
In `app/java/io.agora.agorachatquickstart/MainActivity`, before adding the following lines after `AppCompatActivity {`, ensure you delete the `onCreate` function created by default.
```java
- // Replaces , , and with your own App Key, user ID, and user token generated in Agora Console.
+ // Replaces , , and with your own App ID, user ID, and user token generated in Agora Console.
private static final String USERNAME = "";
private static final String TOKEN = "";
- private static final String APP_KEY = "";
+ private static final String APP_ID = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
- initSDK();
+ if(!initSDK()) {
+ return;
+ }
initListener();
}
```
@@ -295,21 +297,22 @@ To enable your app to send and receive messages between individual users, do the
((TextView)findViewById(R.id.tv_log)).setMovementMethod(new ScrollingMovementMethod());
}
// Initializes the SDK.
- private void initSDK() {
+ private boolean initSDK() {
ChatOptions options = new ChatOptions();
- // Gets your App Key applied from Agora Console.
- if(TextUtils.isEmpty(APP_KEY)) {
- Toast.makeText(MainActivity.this, "You should set your AppKey first!", Toast.LENGTH_SHORT).show();
- return;
+ // Gets your App ID applied from Agora Console.
+ if(TextUtils.isEmpty(APP_ID)) {
+ Toast.makeText(MainActivity.this, "You should set your App ID first!", Toast.LENGTH_SHORT).show();
+ return false;
}
- // Sets your App Key to options.
- options.setAppKey(APP_KEY);
+ // Sets your App ID to options.
+ options.setAppId(APP_ID);
// Initializes the Agora Chat SDK.
ChatClient.getInstance().init(this, options);
// Makes the Agora Chat SDK debuggable.
ChatClient.getInstance().setDebugMode(true);
// Shows the current user.
((TextView)findViewById(R.id.tv_username)).setText("Current user: "+USERNAME);
+ return true;
}
```
@@ -468,7 +471,7 @@ To enable your app to send and receive messages between individual users, do the
To validate the peer-to-peer messaging you have just integrated into your app using Agora Chat, perform the following operations:
1. Log in
- a. In the [`MainActivity`](#sign-in) file, replace the placeholders of `USERNAME`, `TOKEN`, and `APP_KEY` to the user Id, Agora token, and App Key of the sender (Som).
+ a. In the [`MainActivity`](#sign-in) file, replace the placeholders of `USERNAME`, `TOKEN`, and `APP_ID` to the user Id, Agora token, and App ID of the sender (Som).
b. In **Android Studio**, select the device to run the project and click **Run 'app'**.
c. On your simulator or physical device, click **SIGN IN** to log in with the sender account.

@@ -481,14 +484,14 @@ To validate the peer-to-peer messaging you have just integrated into your app us
Click **SIGN OUT** to log out of the sender account.
4. Receive the message
- a. After signing out, change the values of `USERNAME`, `TOKEN`, and `APP_KEY` to the user Id, Agora token, and App Key of the receiver (Neil) in the [`MainActivity`](#sign-in) file.
+ a. After signing out, change the values of `USERNAME`, `TOKEN`, and `APP_ID` to the user Id, Agora token, and App ID of the receiver (Neil) in the [`MainActivity`](#sign-in) file.
b. Run the app on another Android device or simulator with the receiver account and receive the message "How are you doing?" sent in step 2.

## Next Steps
-For demonstration purposes, Agora Chat uses temporary tokens generated from Agora Console for authentication in this guide. In a production context, the best practice is for you to deploy your own token server, use your own [App Key](./enable_agora_chat?platform=Android#get-the-information-of-the-agora-chat-project) to generate a token, and retrieve the token on the client side to log in to Agora. To see how to implement a server that generates and serves tokens on request, see [Generate a User Token](./generate_user_tokens).
+For demonstration purposes, Agora Chat uses temporary tokens generated from Agora Console for authentication in this guide. In a production context, the best practice is for you to deploy your own token server, use your own [App ID](./enable_agora_chat?platform=Android#get-the-information-of-the-agora-chat-project) to generate a token, and retrieve the token on the client side to log in to Agora. To see how to implement a server that generates and serves tokens on request, see [Generate a User Token](./generate_user_tokens).
## See also
diff --git a/Chat-Android/app/build.gradle b/Chat-Android/app/build.gradle
index 45bc885..a229b86 100644
--- a/Chat-Android/app/build.gradle
+++ b/Chat-Android/app/build.gradle
@@ -3,15 +3,15 @@ plugins {
}
android {
- compileSdkVersion 30
- buildToolsVersion "30.0.3"
+ namespace = 'io.agora.agorachatquickstart'
+ compileSdk = 35
defaultConfig {
- applicationId "io.agora.agorachatquickstart"
- minSdkVersion 21
- targetSdkVersion 30
- versionCode 1
- versionName "1.0"
+ applicationId = "io.agora.agorachatquickstart"
+ minSdk = 24
+ targetSdk = 35
+ versionCode = 1
+ versionName = "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -23,19 +23,19 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
}
dependencies {
- implementation 'androidx.appcompat:appcompat:1.1.0'
- implementation 'com.google.android.material:material:1.1.0'
- implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
- testImplementation 'junit:junit:4.+'
- androidTestImplementation 'androidx.test.ext:junit:1.1.1'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ implementation 'androidx.appcompat:appcompat:1.7.1'
+ implementation 'com.google.android.material:material:1.14.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.3.0'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'
// Required: Agora Chat SDK
implementation 'io.agora.rtc:chat-sdk:latest.release'
diff --git a/Chat-Android/app/src/main/AndroidManifest.xml b/Chat-Android/app/src/main/AndroidManifest.xml
index 43f1ea9..159e7e1 100644
--- a/Chat-Android/app/src/main/AndroidManifest.xml
+++ b/Chat-Android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
@@ -31,7 +30,9 @@
-
+
diff --git a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/MainActivity.java b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/MainActivity.java
index e70f4ba..b98fcdb 100644
--- a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/MainActivity.java
+++ b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/MainActivity.java
@@ -24,15 +24,17 @@ public class MainActivity extends AppCompatActivity {
private static final String USERNAME = "";
// Gets token from Agora Console or generates by your app server
private static final String TOKEN = "";
- // Gets AppKey from Agora Console
- private static final String APP_KEY = "";
+ // Gets App ID from Agora Console
+ private static final String APP_ID = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
- initSDK();
+ if(!initSDK()) {
+ return;
+ }
initListener();
}
@@ -40,21 +42,22 @@ private void initView() {
((TextView)findViewById(R.id.tv_log)).setMovementMethod(new ScrollingMovementMethod());
}
- private void initSDK() {
+ private boolean initSDK() {
ChatOptions options = new ChatOptions();
- // Get your appkey applied from Agora Console
- if(TextUtils.isEmpty(APP_KEY)) {
- Toast.makeText(MainActivity.this, "You should set your AppKey first!", Toast.LENGTH_SHORT).show();
- return;
+ // Get your App ID applied from Agora Console
+ if(TextUtils.isEmpty(APP_ID)) {
+ Toast.makeText(MainActivity.this, "You should set your App ID first!", Toast.LENGTH_SHORT).show();
+ return false;
}
- // Set your appkey to options
- options.setAppKey(APP_KEY);
+ // Set your App ID to options
+ options.setAppId(APP_ID);
// To initialize Agora Chat SDK
ChatClient.getInstance().init(this, options);
// Make Agora Chat SDK debuggable
ChatClient.getInstance().setDebugMode(true);
// Show current user
((TextView)findViewById(R.id.tv_username)).setText("Current user: "+USERNAME);
+ return true;
}
private void initListener() {
diff --git a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/NavigationActivity.java b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/NavigationActivity.java
index 85f90b8..9da8040 100644
--- a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/NavigationActivity.java
+++ b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/NavigationActivity.java
@@ -23,6 +23,12 @@ public class NavigationActivity extends AppCompatActivity {
R.string.send_audio_message,
R.string.fetch_messages_from_server
};
+ private static final Class>[] targetActivities = {
+ MainActivity.class,
+ ImportMessagesActivity.class,
+ SendAudioMessageActivity.class,
+ FetchMessagesFromServerActivity.class
+ };
private RecyclerView rvList;
private Activity mContext;
@@ -56,25 +62,8 @@ public void onBindViewHolder(@NonNull NavigationViewHolder holder, int position)
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent;
- switch (titles[myPosition]) {
- case R.string.quick_start :
- intent = new Intent(mContext, MainActivity.class);
- startActivity(intent);
- break;
- case R.string.import_messages :
- intent = new Intent(mContext, ImportMessagesActivity.class);
- startActivity(intent);
- break;
- case R.string.send_audio_message :
- intent = new Intent(mContext, SendAudioMessageActivity.class);
- startActivity(intent);
- break;
- case R.string.fetch_messages_from_server :
- intent = new Intent(mContext, FetchMessagesFromServerActivity.class);
- startActivity(intent);
- break;
- }
+ Intent intent = new Intent(mContext, targetActivities[myPosition]);
+ startActivity(intent);
}
});
}
diff --git a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/utils/AccountHelper.java b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/utils/AccountHelper.java
index 51cd3a1..ac6349b 100644
--- a/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/utils/AccountHelper.java
+++ b/Chat-Android/app/src/main/java/io/agora/agorachatquickstart/utils/AccountHelper.java
@@ -32,14 +32,14 @@ public class AccountHelper {
*/
public static void initSDK(Context context) {
ChatOptions options = new ChatOptions();
- // Set your appkey applied from Agora Console
- String sdkAppkey = context.getString(R.string.app_key);
- if(TextUtils.isEmpty(sdkAppkey)) {
- Toast.makeText(context, "You should set your AppKey first!", Toast.LENGTH_SHORT).show();
+ // Set your App ID applied from Agora Console
+ String sdkAppId = context.getString(R.string.app_id);
+ if(TextUtils.isEmpty(sdkAppId)) {
+ Toast.makeText(context, "You should set your App ID first!", Toast.LENGTH_SHORT).show();
return;
}
- // Set your appkey to options
- options.setAppKey(sdkAppkey);
+ // Set your App ID to options
+ options.setAppId(sdkAppId);
// Set you to use HTTPS only
options.setUsingHttpsOnly(true);
options.setAutoLogin(false);
diff --git a/Chat-Android/app/src/main/res/values/strings.xml b/Chat-Android/app/src/main/res/values/strings.xml
index f9b65e0..c9746a9 100644
--- a/Chat-Android/app/src/main/res/values/strings.xml
+++ b/Chat-Android/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
AgoraChatQuickstart
- 41117440#383391
+ Your Agora App ID
\ No newline at end of file
diff --git a/Chat-Android/build.gradle b/Chat-Android/build.gradle
index 00f269e..44f0de0 100644
--- a/Chat-Android/build.gradle
+++ b/Chat-Android/build.gradle
@@ -1,26 +1,7 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-buildscript {
- repositories {
- google()
- mavenCentral()
- jcenter()
- }
- dependencies {
- classpath "com.android.tools.build:gradle:4.2.2"
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
-}
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- jcenter()
- }
+plugins {
+ id 'com.android.application' version '9.0.0' apply false
}
-task clean(type: Delete) {
- delete rootProject.buildDir
+tasks.register('clean', Delete) {
+ delete rootProject.layout.buildDirectory
}
\ No newline at end of file
diff --git a/Chat-Android/chatuikitquickstart/README.md b/Chat-Android/chatuikitquickstart/README.md
index 019906b..443bd9a 100644
--- a/Chat-Android/chatuikitquickstart/README.md
+++ b/Chat-Android/chatuikitquickstart/README.md
@@ -120,7 +120,7 @@ This section shows how to use the Agora Chat UIKit to implement peer-to-peer mes
Please sign in first
Please enter the username who you want to send first!
- 41117440#383391
+ Your Agora App ID
```
@@ -320,7 +320,9 @@ To enable your app to send and receive messages between individual users, do the
setContentView(R.layout.activity_main);
initView();
requestPermissions();
- initSDK();
+ if(!initSDK()) {
+ return;
+ }
addConnectionListener();
}
@@ -335,16 +337,16 @@ To enable your app to send and receive messages between individual users, do the
}
//=================== init SDK start ========================
- private void initSDK() {
+ private boolean initSDK() {
ChatOptions options = new ChatOptions();
- // Set your appkey applied from Agora Console
- String sdkAppkey = getString(R.string.app_key);
- if(TextUtils.isEmpty(sdkAppkey)) {
- Toast.makeText(MainActivity.this, "You should set your AppKey first!", Toast.LENGTH_SHORT).show();
- return;
+ // Set your App ID applied from Agora Console
+ String sdkAppId = getString(R.string.app_id);
+ if(TextUtils.isEmpty(sdkAppId)) {
+ Toast.makeText(MainActivity.this, "You should set your App ID first!", Toast.LENGTH_SHORT).show();
+ return false;
}
- // Set your appkey to options
- options.setAppKey(sdkAppkey);
+ // Set your App ID to options
+ options.setAppId(sdkAppId);
// Set whether confirmation of delivery is required by the recipient. Default: false
options.setRequireDeliveryAck(true);
// Set not to log in automatically
@@ -353,6 +355,7 @@ To enable your app to send and receive messages between individual users, do the
EaseUIKit.getInstance().init(this, options);
// Make Agora Chat SDK debuggable
ChatClient.getInstance().setDebugMode(true);
+ return true;
}
//=================== init SDK end ========================
//================= SDK listener start ====================
@@ -852,7 +855,7 @@ To validate the peer-to-peer messaging you have just integrated into your app us
## Next Step
-For demonstration purposes, Agora Chat provides an app server that enables you to quickly retrieve a token using the App Key given in this guide. In a production context, the best practice is for you to deploy your own token server, use your own [App Key](.enable_agora_chat?platform=Android#get-the-information-of-the-agora-chat-project) to generate a token, and retrieve the token on the client side to log in to Agora. To see how to implement a server that generates and serves tokens on request, see [Generate a User Token](./generate_user_tokens?platform=All%20Platforms).
+For demonstration purposes, Agora Chat provides an app server that enables you to quickly retrieve a token using the App ID given in this guide. In a production context, the best practice is for you to deploy your own token server, use your own [App ID](.enable_agora_chat?platform=Android#get-the-information-of-the-agora-chat-project) to generate a token, and retrieve the token on the client side to log in to Agora. To see how to implement a server that generates and serves tokens on request, see [Generate a User Token](./generate_user_tokens?platform=All%20Platforms).
## Reference
diff --git a/Chat-Android/chatuikitquickstart/build.gradle b/Chat-Android/chatuikitquickstart/build.gradle
index 675c67a..0ef64ac 100644
--- a/Chat-Android/chatuikitquickstart/build.gradle
+++ b/Chat-Android/chatuikitquickstart/build.gradle
@@ -3,14 +3,15 @@ plugins {
}
android {
- compileSdkVersion 30
+ namespace = 'io.agora.chatuikitquickstart'
+ compileSdk = 35
defaultConfig {
- applicationId "io.agora.chatuikitquickstart"
- minSdkVersion 21
- targetSdkVersion 30
- versionCode 1
- versionName "1.0"
+ applicationId = "io.agora.chatuikitquickstart"
+ minSdk = 24
+ targetSdk = 35
+ versionCode = 1
+ versionName = "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -22,19 +23,19 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
}
dependencies {
- implementation 'androidx.appcompat:appcompat:1.2.1'
- implementation 'com.google.android.material:material:1.3.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
- testImplementation 'junit:junit:4.+'
- androidTestImplementation 'androidx.test.ext:junit:1.1.2'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+ implementation 'androidx.appcompat:appcompat:1.7.1'
+ implementation 'com.google.android.material:material:1.14.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.3.0'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'
// Required: Agora Chat UIKit
- implementation 'io.agora.rtc:chat-uikit:latest.release'
+ implementation 'io.agora.rtc:chat-uikit:1.4.0'
}
\ No newline at end of file
diff --git a/Chat-Android/chatuikitquickstart/src/main/AndroidManifest.xml b/Chat-Android/chatuikitquickstart/src/main/AndroidManifest.xml
index d8c3f79..3dfad73 100644
--- a/Chat-Android/chatuikitquickstart/src/main/AndroidManifest.xml
+++ b/Chat-Android/chatuikitquickstart/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
diff --git a/Chat-Android/chatuikitquickstart/src/main/java/io/agora/chatuikitquickstart/MainActivity.java b/Chat-Android/chatuikitquickstart/src/main/java/io/agora/chatuikitquickstart/MainActivity.java
index ede3e7c..06787f3 100644
--- a/Chat-Android/chatuikitquickstart/src/main/java/io/agora/chatuikitquickstart/MainActivity.java
+++ b/Chat-Android/chatuikitquickstart/src/main/java/io/agora/chatuikitquickstart/MainActivity.java
@@ -53,7 +53,9 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
initView();
requestPermissions();
- initSDK();
+ if(!initSDK()) {
+ return;
+ }
addConnectionListener();
}
@@ -68,16 +70,16 @@ private void requestPermissions() {
}
//=================== init SDK start ========================
- private void initSDK() {
+ private boolean initSDK() {
ChatOptions options = new ChatOptions();
- // Set your appkey applied from Agora Console
- String sdkAppkey = getString(R.string.app_key);
- if(TextUtils.isEmpty(sdkAppkey)) {
- Toast.makeText(MainActivity.this, "You should set your AppKey first!", Toast.LENGTH_SHORT).show();
- return;
+ // Set your App ID applied from Agora Console
+ String sdkAppId = getString(R.string.app_id);
+ if(TextUtils.isEmpty(sdkAppId)) {
+ Toast.makeText(MainActivity.this, "You should set your App ID first!", Toast.LENGTH_SHORT).show();
+ return false;
}
- // Set your appkey to options
- options.setAppKey(sdkAppkey);
+ // Set your App ID to options
+ options.setAppId(sdkAppId);
// Set whether confirmation of delivery is required by the recipient. Default: false
options.setRequireDeliveryAck(true);
// Set not to log in automatically
@@ -86,6 +88,7 @@ private void initSDK() {
EaseUIKit.getInstance().init(this, options);
// Make Agora Chat SDK debuggable
ChatClient.getInstance().setDebugMode(true);
+ return true;
}
//=================== init SDK end ========================
//================= SDK listener start ====================
@@ -213,9 +216,9 @@ public void startChat(View view) {
.setOnChatExtendMenuItemClickListener(new OnChatExtendMenuItemClickListener() {
@Override
public boolean onChatExtendMenuItemClick(View view, int itemId) {
- if(itemId == R.id.extend_item_take_picture) {
+ if(itemId == io.agora.chat.uikit.R.id.extend_item_take_picture) {
return !checkPermissions(Manifest.permission.CAMERA, 111);
- }else if(itemId == R.id.extend_item_picture || itemId == R.id.extend_item_file || itemId == R.id.extend_item_video) {
+ }else if(itemId == io.agora.chat.uikit.R.id.extend_item_picture || itemId == io.agora.chat.uikit.R.id.extend_item_file || itemId == io.agora.chat.uikit.R.id.extend_item_video) {
return !checkPermissions(Manifest.permission.READ_EXTERNAL_STORAGE, 112);
}
return false;
diff --git a/Chat-Android/chatuikitquickstart/src/main/res/values/strings.xml b/Chat-Android/chatuikitquickstart/src/main/res/values/strings.xml
index 1a75f88..dd6d57f 100644
--- a/Chat-Android/chatuikitquickstart/src/main/res/values/strings.xml
+++ b/Chat-Android/chatuikitquickstart/src/main/res/values/strings.xml
@@ -19,5 +19,5 @@
Please sign in first
Please enter the username who you want to send first!
- 41117440#383391
+ Your Agora App ID
\ No newline at end of file
diff --git a/Chat-Android/gradle.properties b/Chat-Android/gradle.properties
index 52f5917..6826e61 100644
--- a/Chat-Android/gradle.properties
+++ b/Chat-Android/gradle.properties
@@ -14,6 +14,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
-# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
\ No newline at end of file
+android.useAndroidX=true
\ No newline at end of file
diff --git a/Chat-Android/gradle/wrapper/gradle-wrapper.properties b/Chat-Android/gradle/wrapper/gradle-wrapper.properties
index 1a7d902..04694f0 100644
--- a/Chat-Android/gradle/wrapper/gradle-wrapper.properties
+++ b/Chat-Android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Tue Sep 14 10:59:51 CST 2021
+#Mon Jul 06 11:45:00 CST 2026
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
diff --git a/Chat-Android/settings.gradle b/Chat-Android/settings.gradle
index acc2e46..12e6674 100644
--- a/Chat-Android/settings.gradle
+++ b/Chat-Android/settings.gradle
@@ -1,3 +1,19 @@
-include ':app'
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
rootProject.name = "Chat-Android"
+include ':app'
include ':chatuikitquickstart'
\ No newline at end of file