Skip to content

Commit 3dcd70a

Browse files
authored
Next - v1.0.0 (#10)
* Bump version to 1.0.0 - Add AntIcons instead of lucide_icons - Update StaggeredGridView - Make AboutScreen Responsive - Change Bottom Navigation Bar - Add flutter_localizations package - Fix theming in dark mode - Change default fade transition to rightToLeft when switching pages - Made home screen responsive - Remove usesless dependencies - Update Image for About Screen - Update headline6 for Search Field text * Show relevant download links for Video stream - Update android build files * Fix release builds and scrolling in ChannelScreen * BottomNav and NavRail revamp, Use Sliver's * Fix android build * Fix TabBar and AppBar color * Add translations for en
1 parent e26c470 commit 3dcd70a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1573
-903
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
.metadata
1414
*.keystore
1515
linux/packaging/usr/local/
16-
generated-*.dart
16+
generated_*.dart
1717

1818
# IntelliJ related
1919
*.iml

README.md

+12-5
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<img src="https://raw.githubusercontent.com/prateekmedia/flutube/main/assets/flutube.png">
33
</p>
44
<h1 align="center">FluTube</h1>
5-
<p align="center"><b>Youtube video client made using flutter</b></p>
5+
<p align="center"><b>Youtube client made using flutter</b></p>
66
<p align="center">
77
<a href="https://github.com/prateekmedia/flutube/releases"><img alt="GitHub release" src="https://img.shields.io/github/v/release/prateekmedia/flutube"/></a> <a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/prateekmedia/flutube?color=blue"/></a> <a href="#build-from-source"><img alt="Build from source" src="https://img.shields.io/badge/Install Manually-git-blue"/></a>
88
</p>
99

1010
<table>
1111
<tr>
1212
<td colspan=2>
13-
<img src="https://github.com/prateekmedia/flutube/blob/main/assets/screenshots/linux_2.jpg?raw=true"/>
13+
<img src="https://github.com/prateekmedia/flutube/blob/main/assets/screenshots/linux_1.jpg?raw=true"/>
1414
</td>
1515
</tr>
1616
<tr>
1717
<td>
18-
<img src="https://github.com/prateekmedia/flutube/blob/main/assets/screenshots/linux_1.jpg?raw=true"/>
18+
<img src="https://github.com/prateekmedia/flutube/blob/main/assets/screenshots/linux_2.jpg?raw=true"/>
1919
</td>
2020
<td>
2121
<img src="https://github.com/prateekmedia/flutube/blob/main/assets/screenshots/linux_3.jpg?raw=true"/>
@@ -41,9 +41,16 @@
4141

4242
---
4343

44+
### Contribute translations
45+
46+
- Simply copy the content of `app_en.arb` located in `lib/translations` to your language like `app_hi.arb`
47+
- Now Modify the values of every key for example:
48+
`"preferences": "सेटिंग्स"`
49+
- Now make a Pull Request or simply create an issue and upload your translations there.
50+
4451
### Build from source
4552

46-
- Download latest Flutter SDK (>=2.2.3)
53+
- Download latest Flutter SDK (>=2.8.0)
4754
- Clone this repo and then for building
4855

4956
```bash
@@ -62,7 +69,7 @@ This project would not be possible without [youtube_explode_dart](https://github
6269

6370
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
6471

65-
FluTube is Free Software: You can use, study share and improve it at your
72+
FluTube is a Free Software: You can use, study share and improve it at your
6673
will. Specifically you can redistribute and/or modify it under the terms of the
6774
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
6875
published by the Free Software Foundation, either version 3 of the License, or

android/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ GeneratedPluginRegistrant.java
99
# Remember to never publicly share your keystore.
1010
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
1111
key.properties
12+
**/*.keystore
13+
**/*.jks

android/app/build.gradle

+19-6
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,25 @@ apply plugin: 'kotlin-android'
3232
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
3333

3434
android {
35-
compileSdkVersion 31
35+
compileSdkVersion flutter.compileSdkVersion
36+
37+
compileOptions {
38+
sourceCompatibility JavaVersion.VERSION_1_8
39+
targetCompatibility JavaVersion.VERSION_1_8
40+
}
41+
42+
kotlinOptions {
43+
jvmTarget = '1.8'
44+
}
3645

3746
sourceSets {
3847
main.java.srcDirs += 'src/main/kotlin'
3948
}
4049

4150
defaultConfig {
4251
applicationId "com.prateekmedia.flutube"
43-
minSdkVersion 16
44-
targetSdkVersion 30
52+
minSdkVersion flutter.minSdkVersion
53+
targetSdkVersion flutter.targetSdkVersion
4554
versionCode flutterVersionCode.toInteger()
4655
versionName flutterVersionName
4756
}
@@ -54,16 +63,16 @@ android {
5463
storePassword keyProps['storePassword']
5564
}
5665
}
57-
66+
5867
buildTypes {
5968
debug {
6069
applicationIdSuffix ".debug"
6170
}
62-
71+
6372
release {
6473
signingConfig signingConfigs.release
6574
}
66-
75+
6776
applicationVariants.all{
6877
// this method is use to rename your release apk only
6978
variant ->
@@ -84,6 +93,10 @@ android {
8493
}
8594
}
8695
}
96+
97+
lintOptions {
98+
checkReleaseBuilds false
99+
}
87100
}
88101

89102
flutter {
+3-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.prateekmedia.flutube"
3-
xmlns:tools="http://schemas.android.com/tools">
2+
package="com.prateekmedia.flutube">
43
<application
5-
tools:replace="android:label"
6-
android:name="io.flutter.app.FlutterApplication"
7-
android:label="FluTube Debug"
84
android:requestLegacyExternalStorage="true">
9-
</application>
105
<uses-permission android:name="android.permission.INTERNET"/>
6+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
7+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
118
</manifest>

android/app/src/main/AndroidManifest.xml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22
package="com.prateekmedia.flutube">
3-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
53
<application
6-
android:requestLegacyExternalStorage="true"
74
android:label="FluTube"
8-
android:icon="@mipmap/ic_launcher">
5+
android:name="${applicationName}"
6+
android:icon="@mipmap/ic_launcher"
7+
android:requestLegacyExternalStorage="true">
98
<activity
109
android:name=".MainActivity"
10+
android:exported="true"
1111
android:launchMode="singleTop"
1212
android:theme="@style/LaunchTheme"
1313
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
@@ -33,4 +33,6 @@
3333
android:value="2" />
3434
</application>
3535
<uses-permission android:name="android.permission.INTERNET"/>
36+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
37+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3638
</manifest>

android/app/src/main/res/values-night/styles.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
This theme determines the color of the Android Window while your
1111
Flutter UI initializes, as well as behind your Flutter UI while its
1212
running.
13-
13+
1414
This Theme is only used starting with V2 of Flutter's Android embedding. -->
1515
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
1616
<item name="android:windowBackground">?android:colorBackground</item>

android/app/src/main/res/values/styles.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
This theme determines the color of the Android Window while your
1111
Flutter UI initializes, as well as behind your Flutter UI while its
1212
running.
13-
13+
1414
This Theme is only used starting with V2 of Flutter's Android embedding. -->
1515
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
1616
<item name="android:windowBackground">?android:colorBackground</item>

android/build.gradle

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
buildscript {
2-
ext.kotlin_version = '1.3.50'
2+
ext.kotlin_version = '1.5.10'
33
repositories {
44
google()
5-
jcenter()
5+
mavenCentral()
66
}
77

88
dependencies {
@@ -14,13 +14,15 @@ buildscript {
1414
allprojects {
1515
repositories {
1616
google()
17-
jcenter()
17+
mavenCentral()
1818
}
1919
}
2020

2121
rootProject.buildDir = '../build'
2222
subprojects {
2323
project.buildDir = "${rootProject.buildDir}/${project.name}"
24+
}
25+
subprojects {
2426
project.evaluationDependsOn(':app')
2527
}
2628

assets/prateekmedia.jpg

13.8 KB
Loading

assets/screenshots/linux_1.jpg

225 KB
Loading

assets/screenshots/linux_2.jpg

-82.5 KB
Loading

assets/screenshots/linux_3.jpg

21.5 KB
Loading

l10n.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
arb-dir: lib/translations
2+
template-arb-file: app_en.arb
3+
output-localization-file: app_locals.dart

lib/controller/internet_connectivity.dart

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ import 'package:connectivity_plus/connectivity_plus.dart';
55
enum NetworkStatus { online, offline, restored }
66

77
class InternetConnectivity {
8-
static final StreamController _networkController = StreamController<NetworkStatus>.broadcast();
8+
static final StreamController _networkController =
9+
StreamController<NetworkStatus>.broadcast();
910

10-
static Stream<NetworkStatus> get networkStream => _networkController.stream as Stream<NetworkStatus>;
11+
static Stream<NetworkStatus> get networkStream =>
12+
_networkController.stream as Stream<NetworkStatus>;
1113

1214
static NetworkStatus _status = NetworkStatus.online;
1315
static NetworkStatus get status => _status;

0 commit comments

Comments
 (0)