diff --git a/.gitattributes b/.gitattributes index 97edf4bb9..ed83b8a5c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ lib/generated/intl/messages_*.dart linguist-generated=true lib/generated/l10n.dart linguist-generated=true +lib/models/protos/*.dart linguist-generated=true diff --git a/README.md b/README.md index ebcd1164a..ae80d621f 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,12 @@ You can alternatively install the build from PlayStore or F-Droid. 8. For iOS, run `flutter build ios`
+### Proto + - Install `protoc` (on macOS, `brew install protobuf`) + - Install `https://pub.dev/packages/protoc_plugin` plugin. + - Add `protoc-gen-dart` to your `PATH` (on macOS, `export PATH="$PATH":"$HOME/.pub-cache/bin"`) + - Run `protoc --dart_out=lib/models/protos -Iprotos protos/*.proto` + ## 🙋 Help We provide human support to our customers. Please write to [support@ente.io](mailto:support@ente.io) sharing as many details as possible about whatever it is that you need help with, and we will get back to you as soon as possible. diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 31e051123..b8527afc3 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -347,6 +347,7 @@ class MessageLookup extends MessageLookupByLibrary { "claimed": MessageLookupByLibrary.simpleMessage("Claimed"), "claimedStorageSoFar": m2, "clearCaches": MessageLookupByLibrary.simpleMessage("Clear caches"), + "clearIndexes": MessageLookupByLibrary.simpleMessage("Clear indexes"), "click": MessageLookupByLibrary.simpleMessage("• Click"), "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( "• Click on the overflow menu"), @@ -526,6 +527,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Email your logs"), "empty": MessageLookupByLibrary.simpleMessage("Empty"), "emptyTrash": MessageLookupByLibrary.simpleMessage("Empty trash?"), + "enableMLWarning": MessageLookupByLibrary.simpleMessage( + "Please note that this will result in a higher bandwidth and battery usage until all items are indexed."), + "enableMachineLearning": + MessageLookupByLibrary.simpleMessage("Enable machine learning"), "encryptingBackup": MessageLookupByLibrary.simpleMessage("Encrypting backup..."), "encryption": MessageLookupByLibrary.simpleMessage("Encryption"), @@ -650,6 +655,7 @@ class MessageLookup extends MessageLookupByLibrary { "The recovery key you entered is incorrect"), "incorrectRecoveryKeyTitle": MessageLookupByLibrary.simpleMessage("Incorrect recovery key"), + "indexedItems": MessageLookupByLibrary.simpleMessage("Indexed items"), "insecureDevice": MessageLookupByLibrary.simpleMessage("Insecure device"), "installManually": @@ -740,6 +746,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "Long-press on an item to view in full-screen"), "lostDevice": MessageLookupByLibrary.simpleMessage("Lost device?"), + "machineLearning": + MessageLookupByLibrary.simpleMessage("Machine learning"), "manage": MessageLookupByLibrary.simpleMessage("Manage"), "manageDeviceStorage": MessageLookupByLibrary.simpleMessage("Manage device storage"), @@ -1075,6 +1083,7 @@ class MessageLookup extends MessageLookupByLibrary { "Sorry, we could not generate secure keys on this device.\n\nplease sign up from a different device."), "sparkleSuccess": MessageLookupByLibrary.simpleMessage("✨ Success"), "startBackup": MessageLookupByLibrary.simpleMessage("Start backup"), + "status": MessageLookupByLibrary.simpleMessage("Status"), "storage": MessageLookupByLibrary.simpleMessage("Storage"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"), @@ -1182,6 +1191,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Unhide to album"), "unhidingFilesToAlbum": MessageLookupByLibrary.simpleMessage("Unhiding files to album"), + "unindexedItems": + MessageLookupByLibrary.simpleMessage("Unindexed items"), "unlock": MessageLookupByLibrary.simpleMessage("Unlock"), "unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"), "update": MessageLookupByLibrary.simpleMessage("Update"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 6e22e786f..f0b048e97 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -6807,6 +6807,76 @@ class S { ); } + /// `Machine learning` + String get machineLearning { + return Intl.message( + 'Machine learning', + name: 'machineLearning', + desc: '', + args: [], + ); + } + + /// `Status` + String get status { + return Intl.message( + 'Status', + name: 'status', + desc: '', + args: [], + ); + } + + /// `Clear indexes` + String get clearIndexes { + return Intl.message( + 'Clear indexes', + name: 'clearIndexes', + desc: '', + args: [], + ); + } + + /// `Indexed items` + String get indexedItems { + return Intl.message( + 'Indexed items', + name: 'indexedItems', + desc: '', + args: [], + ); + } + + /// `Unindexed items` + String get unindexedItems { + return Intl.message( + 'Unindexed items', + name: 'unindexedItems', + desc: '', + args: [], + ); + } + + /// `Enable machine learning` + String get enableMachineLearning { + return Intl.message( + 'Enable machine learning', + name: 'enableMachineLearning', + desc: '', + args: [], + ); + } + + /// `Please note that this will result in a higher bandwidth and battery usage until all items are indexed.` + String get enableMLWarning { + return Intl.message( + 'Please note that this will result in a higher bandwidth and battery usage until all items are indexed.', + name: 'enableMLWarning', + desc: '', + args: [], + ); + } + /// `km` String get distanceInKMUnit { return Intl.message( diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 06660d33f..a26c920e1 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -955,6 +955,13 @@ "saving": "Saving...", "editsSaved": "Edits saved", "oopsCouldNotSaveEdits": "Oops, could not save edits", + "machineLearning": "Machine learning", + "status": "Status", + "clearIndexes": "Clear indexes", + "indexedItems": "Indexed items", + "unindexedItems": "Unindexed items", + "enableMachineLearning": "Enable machine learning", + "enableMLWarning": "Please note that this will result in a higher bandwidth and battery usage until all items are indexed.", "distanceInKMUnit": "km", "@distanceInKMUnit": { "description": "Unit for distance in km" diff --git a/lib/models/protos/labels.pb.dart b/lib/models/protos/labels.pb.dart new file mode 100644 index 000000000..15a50de97 --- /dev/null +++ b/lib/models/protos/labels.pb.dart @@ -0,0 +1,113 @@ +/// +// Generated code. Do not modify. +// source: labels.proto +// +// @dart = 2.12 +// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class Label extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Label', createEmptyInstance: create) + ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'name') + ..a<$core.double>(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'score', $pb.PbFieldType.OF) + ..hasRequiredFields = false + ; + + Label._() : super(); + factory Label({ + $core.String? name, + $core.double? score, + }) { + final _result = create(); + if (name != null) { + _result.name = name; + } + if (score != null) { + _result.score = score; + } + return _result; + } + factory Label.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Label.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Label clone() => Label()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Label copyWith(void Function(Label) updates) => super.copyWith((message) => updates(message as Label)) as Label; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static Label create() => Label._(); + Label createEmptyInstance() => create(); + static $pb.PbList