Skip to content

Commit

Permalink
updated as per flutter_3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Nisarg Ratani authored and Nisarg Ratani committed May 31, 2022
1 parent 00519c5 commit 3355732
Show file tree
Hide file tree
Showing 14 changed files with 384 additions and 144 deletions.
12 changes: 10 additions & 2 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
include: package:lint/analysis_options.yaml
include: package:flutter_lints/flutter.yaml

analyzer:
exclude:
- lib/**.g.dart
- lib/**/*.g.dart
- lib/**/*.freezed.dart
- lib/generated
- lib/generated/locale_keys.g.dart
- lib/src/di/injectable.config.dart

errors:
missing_required_param: error

linter:
rules:
exclude:
- sort_pub_dependencies

17 changes: 14 additions & 3 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,18 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 28
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
jvmTarget = '1.8'
}


sourceSets {
main.java.srcDirs += 'src/main/kotlin'
Expand All @@ -39,8 +50,8 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.flutter_base_project"
minSdkVersion 16
targetSdkVersion 28
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand Down
7 changes: 6 additions & 1 deletion android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,21 @@
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".MainActivity"
android:exported="true"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Expand Down
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.3.50'
ext.kotlin_version = '1.6.10'
repositories {
google()
jcenter()
Expand All @@ -9,10 +9,10 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.0'
classpath 'io.fabric.tools:gradle:1.26.1'
classpath 'io.fabric.tools:gradle:1.28.0'
}
}

Expand Down
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
2 changes: 1 addition & 1 deletion lib/app_constants.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//TODO Update store URL for update
//Update store URL for update
const androidPlayStoreUrl =
'https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1';
const iosAppStoreUrl = '';
6 changes: 2 additions & 4 deletions lib/src/analytics/analytics.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
import 'package:flutter/material.dart';
import 'package:flutter_base_project/src/analytics/firebase_analytics_logger.dart';

abstract class AnalyticsLogger {
Expand All @@ -17,8 +15,8 @@ AnalyticsLogger getAnalysisLogger() {
return FirebaseAnalyticsLogger();
}

RouteObserver<PageRoute<dynamic>> navigationObserverAnalytics() {
FirebaseAnalyticsObserver navigationObserverAnalytics() {
return FirebaseAnalyticsObserver(
analytics: FirebaseAnalytics(),
analytics: FirebaseAnalytics.instance,
);
}
6 changes: 3 additions & 3 deletions lib/src/analytics/firebase_analytics_logger.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class FirebaseAnalyticsLogger implements AnalyticsLogger {
}

FirebaseAnalyticsLogger._() {
_client = FirebaseAnalytics();
_client = FirebaseAnalytics.instance;
}

@override
Expand All @@ -25,7 +25,7 @@ class FirebaseAnalyticsLogger implements AnalyticsLogger {
@override
void loginUser({Map<String, dynamic>? userData}) {
_client!.logLogin();
_client!.setUserId(userData!['id'] as String);
_client!.setUserId(id: userData!['id'] as String);
_client!.setUserProperty(name: 'email', value: userData['email'] as String);
_client!.setUserProperty(
name: 'name',
Expand All @@ -36,7 +36,7 @@ class FirebaseAnalyticsLogger implements AnalyticsLogger {
@override
void logoutUser() {
_client!.logEvent(name: "SignOut");
_client!.setUserId(null);
_client!.setUserId();
_client!.setUserProperty(name: 'email', value: null);
_client!.setUserProperty(name: 'name', value: null);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/src/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class _AppState extends State<App> {
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
//TODO Change App Title
//Change App Title
title: 'Flutter Demo',
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
Expand Down
13 changes: 7 additions & 6 deletions lib/src/app_update/app_update.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
import 'dart:io' show Platform;

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_base_project/app_constants.dart';
import 'package:flutter_base_project/src/app_update/app_update_key_provider.dart';
import 'package:flutter_base_project/src/remote_config/remote_config_repository.dart';
import 'package:package_info/package_info.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:url_launcher/url_launcher_string.dart';

enum UpdateMode { noUpdate, flexibleUpdate, immediateUpdate }

Expand Down Expand Up @@ -112,7 +110,10 @@ Future<void> openStore() async {
} else if (Platform.isIOS) {
url = iosAppStoreUrl;
}
if (await canLaunch(url!)) {
await launch(url);
if (await canLaunchUrlString(url!)) {
await launchUrlString(
url,
mode: LaunchMode.externalApplication,
);
}
}
16 changes: 8 additions & 8 deletions lib/src/remote_config/remote_config_repository.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@ import 'package:flutter/services.dart';

class RemoteConfigRepository {
static final _instance = RemoteConfigRepository._();
RemoteConfig? _config;
FirebaseRemoteConfig? _config;

factory RemoteConfigRepository() => _instance;

RemoteConfigRepository._();

Future<void> initConfig() async {
if (_config == null) {
_config = await RemoteConfig.instance;
}
_config ??= FirebaseRemoteConfig.instance;
}

Future<void> syncConfig() async {
try {
await _config!.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(seconds: 3),
minimumFetchInterval: Duration.zero,
));
await _config!.setConfigSettings(
RemoteConfigSettings(
fetchTimeout: const Duration(seconds: 3),
minimumFetchInterval: Duration.zero,
),
);

await _config!.fetchAndActivate();
} catch (err) {
Expand Down
2 changes: 1 addition & 1 deletion lib/src/utils/network_connectivity.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:connectivity/connectivity.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter_base_project/src/utils/custom_exceptions.dart';

abstract class NetworkConnectivityChecker {
Expand Down
Loading

0 comments on commit 3355732

Please sign in to comment.