Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

#27 issue solved-------Feature/chat history export #52

Open
wants to merge 26 commits into
base: gsoc-2024
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0ca5b82
Merge pull request #20 from AOSSIE-Org/gsoc-2022
ManavSarkar Aug 13, 2024
5b193f4
Merge pull request #29 from AOSSIE-Org/gsoc-2024
ManavSarkar Dec 26, 2024
1348a30
done with change
dikshantbhangala Dec 30, 2024
1ed7a2a
done
dikshantbhangala Dec 30, 2024
c669a23
Added audio recording feature and refactored code
dikshantbhangala Jan 3, 2025
d3076ae
Create Contribution_Guidelines.md
bhavik-mangla Jan 6, 2025
3dc9a42
Update README.md
bhavik-mangla Jan 6, 2025
c15c74e
Add Voice Message Recording and Playback Issue #26
Jan 11, 2025
d9dfae5
Merge pull request #39 from bhavik-mangla/main
bhavik-mangla Jan 11, 2025
26243ec
Fixes issue #28
khushi-hura Jan 12, 2025
a982cc7
fix the error in chat list screen
bhanu-dev82 Jan 13, 2025
493aca2
added back the comments
bhanu-dev82 Jan 13, 2025
3f5c19f
Merge pull request #43 from bhanu-dev82/main
bhavik-mangla Jan 13, 2025
8f4c58a
new changes
khushi-hura Jan 13, 2025
46febb0
Merge pull request #42 from khushi-hura/main
bhavik-mangla Jan 13, 2025
dee1a9a
fix permission error on android 13+
bhanu-dev82 Jan 13, 2025
6381821
enhanced permission according to android version
bhanu-dev82 Jan 13, 2025
f237f61
Merge pull request #46 from bhanu-dev82/main
bhavik-mangla Jan 14, 2025
09fba7e
Fixed bugs in device_list_screen and theme Provider Code, also added …
Jan 14, 2025
64a8eaa
Fixed bugs in device_list_screen and theme Provider Code, also added …
Jan 14, 2025
484d546
Merge pull request #49 from bhavik-mangla/main
bhavik-mangla Jan 14, 2025
89e0a9b
Added chat history export with media support and UI improvements
dikshantbhangala Jan 14, 2025
a8a4e05
updated profile page and improved themes
bhanu-dev82 Jan 15, 2025
5ae645c
Merge branch 'main' into feature/chat-history-export
dikshantbhangala Jan 15, 2025
2d8d106
Merge pull request #54 from bhanu-dev82/main
bhavik-mangla Jan 18, 2025
14268fe
Merge branch 'main' into feature/chat-history-export
dikshantbhangala Jan 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions Contribution_Guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Steps to Set Up Open Peer Chat

1. **Fork the Repository**
- Navigate to the [Open Peer Chat GitHub Repository](https://github.com/AOSSIE-Org/OpenPeerChat-flutter).
- Click the **Fork** button in the top-right corner to create your own copy of the repository.

2. **Clone Your Forked Repository**
```bash
git clone https://github.com/YOUR_USERNAME/OpenPeerChat-flutter.git
cd OpenPeerChat-flutter
```

3. **Make Your Changes**
- Modify the code to implement the required feature or resolve the issue.

4. **Commit Your Changes**
- Stage your changes and commit them with a meaningful message.
```bash
git add .
git commit -m "Add: Brief description of your update"
```

5. **Push Your Changes**
- Push your changes to your forked repository.
```bash
git push origin main
```

6. **Create a Pull Request**
- Go to your forked repository on GitHub.
- Click the **Compare & Pull Request** button.
- Add a detailed description of the changes you made.
- Include a link to a demo video showcasing the feature you added or the issue you resolved.
- Submit the pull request for review.

### Additional Notes
- Contributors should make changes directly to the `main` branch of their forked repository.
- Ensure that your code adheres to the project’s coding standards and passes all necessary tests before creating a pull request.
- Provide a clear and concise description of your changes in the pull request, along with screenshots or video demonstrations if applicable.
- Keep your forked repository up-to-date with the latest changes from the `main` branch to avoid conflicts.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Peer-to-Peer Messaging Application

# LATEST Updates (GSOC 2024) -
https://github.com/AOSSIE-Org/OpenPeerChat-flutter/blob/main/GSOC/2024/Bhavik_Mangla.md

# Contribution Guidelines -
https://github.com/AOSSIE-Org/OpenPeerChat-flutter/blob/main/Contribution_Guidelines.md

GSoC pitch 2021.
# Chosen Idea:
A message sending/relaying messages to nearby devices until the destination is reached, instead of relying on a central server. GPS positioning could be used to route messages along the shortest path. Right now, despite the use of end-to-end encryption, our best and most popular messaging apps still rely on central servers to intermediate the communication. This has disadvantages such as:
Expand Down
44 changes: 31 additions & 13 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<!-- Required for Nearby Connections -->
<uses-permission android:maxSdkVersion="31" android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:maxSdkVersion="31" android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:maxSdkVersion="28" android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:minSdkVersion="29" android:maxSdkVersion="31" android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:minSdkVersion="32" android:name="android.permission.NEARBY_WIFI_DEVICES" />
<!-- Optional: only required for FILE payloads -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Optional: Add this permission if you want to use bluetooth telephony device like headset/earbuds -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- Optional: Add this permission if you want to save your recordings in public folders -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- Add these new permissions for android 13+ -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<application
android:label="openpeerchat_flutter"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
android:icon="@mipmap/ic_launcher"
android:enableOnBackInvokedCallback="true">
<activity
android:name=".MainActivity"
android:exported="true"
Expand All @@ -39,6 +51,12 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<service
android:name="com.nankai.flutter_nearby_connections.NearbyService"
android:exported="true"
android:foregroundServiceType="dataSync"
tools:replace="android:exported">
</service>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
Expand Down

This file was deleted.

11 changes: 11 additions & 0 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
buildscript {
ext.kotlin_version = '2.0.10'

repositories {
google()
mavenCentral()
}

dependencies {
// Add the Android Gradle Plugin classpath
classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

allprojects {
Expand Down
1 change: 1 addition & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
3 changes: 2 additions & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

48 changes: 48 additions & 0 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,53 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',

## dart: PermissionGroup.calendar
# 'PERMISSION_EVENTS=1',

## dart: PermissionGroup.reminders
# 'PERMISSION_REMINDERS=1',

## dart: PermissionGroup.contacts
# 'PERMISSION_CONTACTS=1',

## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',

## dart: PermissionGroup.microphone
'PERMISSION_MICROPHONE=1',

## dart: PermissionGroup.speech
# 'PERMISSION_SPEECH_RECOGNIZER=1',

## dart: PermissionGroup.photos
'PERMISSION_PHOTOS=1',

## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
# 'PERMISSION_LOCATION=1',

## dart: PermissionGroup.notification
# 'PERMISSION_NOTIFICATIONS=1',

## dart: PermissionGroup.mediaLibrary
'PERMISSION_MEDIA_LIBRARY=1',

## dart: PermissionGroup.sensors
# 'PERMISSION_SENSORS=1',

## dart: PermissionGroup.bluetooth
# 'PERMISSION_BLUETOOTH=1',

## dart: PermissionGroup.appTrackingTransparency
# 'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

## dart: PermissionGroup.criticalAlerts
# 'PERMISSION_CRITICAL_ALERTS=1',
]

end
end
end
Loading