Compare commits

...

15 Commits

Author SHA1 Message Date
7bc17281a7 word_search/sense: render POS description + notes 2025-05-20 00:32:11 +02:00
a5b60a0f4e treewide: remove more unused stuff 2025-05-19 23:54:44 +02:00
dca2e37aef treewide: overhaul, upgrade to flutter 3, jisho api -> jadb 2025-05-19 23:15:03 +02:00
5ba64bbb46 Ignore android-data 2022-06-04 15:51:04 +02:00
67f46ccbc7 Add more functionality to sqlite database
- Automate and cache dart sql generators
- Add RADKFILE
- Add jouyou kanji data
2022-05-08 15:39:57 +02:00
d652fc0685 Update API 2022-05-08 15:33:03 +02:00
5d377aa668 Move images to subfolders 2022-05-07 19:46:33 +02:00
46fb93efe3 Start modelling a sqlite database 2022-05-07 18:35:50 +02:00
936c669118 Add nix flake 2022-05-07 00:01:31 +02:00
c242d56f41 Misc cleanup 2022-05-04 23:02:12 +02:00
edd3d7c9a9 Add import export functionality 2022-05-04 23:01:53 +02:00
7ad6540962 Update project files 2022-05-04 22:53:34 +02:00
76061a42f1 Add a failsafe for extraData searches 2022-05-01 23:34:11 +02:00
eaa5510942 Export reused kanji regex into own file 2022-05-01 23:33:45 +02:00
8c7253fd93 Update Jisho API version 2022-02-13 01:39:31 +01:00
198 changed files with 1751 additions and 5647 deletions

View File

@@ -1,88 +0,0 @@
version: 2.1
jobs:
build:
description: "Build the application into an Android APK executable"
docker:
- image: cirrusci/flutter:stable
working_directory: ~/project
steps:
- checkout
- run:
name: Print
command: flutter doctor
- run:
name: Install Dependencies
command: flutter pub get
- run:
name: Build
command: flutter -v build apk
- save_cache:
paths:
- .dart_tool
key: dart-dependencies-{{ checksum "pubspec.lock" }}
lint:
description: "Run static analysis for the code"
docker:
- image: cirrusci/flutter:stable
working_directory: ~/project
steps:
- checkout
- restore_cache:
keys:
- dart-dependencies-{{ checksum "pubspec.lock" }}
- dart-dependencies-
- run:
name: Make folder for analysis results
command: mkdir lint_analysis_data
- run:
name: Analyze code
command: flutter analyze --no-fatal-infos > lint_analysis_data/results.txt
- store_artifacts:
path: ~/project/lint_analysis_data
test:
description: "Run all unittests"
docker:
- image: cirrusci/flutter:stable
working_directory: ~/project
steps:
- checkout
- restore_cache:
keys:
- dart-dependencies-{{ checksum "pubspec.lock" }}
- dart-dependencies-
- run:
name: Install test report converter tool
command: pub global activate junitreport
- run:
name: Make folder for test results
command: mkdir -p test_results/flutter
- run:
name: Run tests
command: flutter test --machine | ~/.pub-cache/bin/tojunit --output test_results/flutter/results.xml || true
- store_test_results:
path: test_results
workflows:
build_and_test:
jobs:
- build
- lint:
requires:
- build
- test:
requires:
- build

1
.envrc Normal file
View File

@@ -0,0 +1 @@
use flake

39
.gitignore vendored
View File

@@ -1,27 +1,6 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
@@ -30,8 +9,16 @@
.pub/
/build/
# Web related
lib/generated_plugin_registrant.dart
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
# -----------------------------
# Nix build results
result
result-*
# Database files
*.sqlite

View File

@@ -1,10 +0,0 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: 0b8abb4724aa590dd0f429683339b1e045a1594d
channel: stable
project_type: app

View File

@@ -1,77 +1,25 @@
[![CircleCI Status][circleci-badge]][circleci]
<h1>
<ruby>
<rp></rp><rt>むぎ</rt><rp></rp>
<rp></rp><rt>てん</rt><rp></rp>
</ruby>
/ Mugiten
</h1>
<p align="center">
<img src="assets/images/logo/logo_icon_transparent_green.png" width=100/>
</p>
# Jisho Study tool
A japanese dictionary with features for making studying the language easier. For the time being, it's mostly a frontend for [Jisho.org][jisho]. It is still in beta, and will stay in beta for some time. Its main data source is the [unofficial_jisho_api][unofficial_jisho_api].
A japanese dictionary as a study tool.
## Screenshots
<p align="center">
<img src=".github/screenshots/search.png" width="250"/>
<img src=".github/screenshots/kanji_search.png" width="250"/>
<img src=".github/screenshots/radical_search.png" width="250"/>
<img src="docs/images/search.png" width="250"/>
<img src="docs/images/kanji_search.png" width="250"/>
<img src="docs/images/radical_search.png" width="250"/>
</p>
<p align="center">
<img src=".github/screenshots/search_result.png" width="250"/>
<img src=".github/screenshots/kanji_result.png" width="250"/>
<img src=".github/screenshots/draw_search.png" width="250"/>
<img src="docs/images/search_result.png" width="250"/>
<img src="docs/images/kanji_result.png" width="250"/>
<img src="docs/images/draw_search.png" width="250"/>
</p>
[See all screenshots][screenshots]
## Search
Search using the Jisho API.
This returns the same Jisho search results you would find by default search without any modifiers (like `#kanji` or `#adverbs`).
There is also an `Extensive search` mode which does another request to fetch detailed information, at the expense of keeping the user waiting.
This detailed information might include example sentences, audio, and other supplementary information.
## Kanji Search
There's several ways to search for kanji.
You can search for kanji manually, by typing it in (or by choosing from a large copy-pasted message).
You can also search for kanji by trying to draw it.
There's also grade based search, and radical based search.
The data returned usually includes the kanjis radical, meanings, pronounciations, stroke order, some statistics and example usage.
## Development environment
To set up a development environment, I would suggest heading over to [flutter.dev][flutter-get-started] and following the installation instructions.
Apart from that, there is no other tools being used at the current time.
## Aim
Why am I making this application, when there's thousands of japanese dictionary apps out there?
I've spent quite a lot of time studying this language.
During study sessions, most of my time would go towards looking for information.
I would often come across new kanji for which I don't know the stroke order, so I ended up fighting with the handwriting recognizers.
Sometimes, I was looking at a word where I had some translations for the word, but no idea how to actually use it.
Finding words that were worthwile to learn could also be hard, and I've probably memorized a bunch of uncommon words that people don't really use.
I also frequently went to places without access to the internet.
To resolve these problems, I've tried several study aiding apps.
Most were good in some ways, but there wasn't really any app that filled all my requirements.
Jisho.org however, provides most of my needs.
There was a lot of Jisho.org apps, but most were missing a lot of the features that were critical to me.
That is the main problem this app is trying to solve.
I'm aiming to make the app I wished I had while studying.
## Thanks to
- Kim, Miwa and Andrew, who did the absolutely incredible work of making Jisho.org
- Mistvall, who created the original API library [unofficial-jisho-api][unofficial-jisho-api].
[circleci-badge]: https://circleci.com/gh/h7x4ABk3g/Jisho-Study-Tool.svg?style=shield
[circleci]: https://app.circleci.com/pipelines/github/h7x4ABk3g/Jisho-Study-Tool
[flutter-get-started]: https://docs.flutter.dev/get-started/install
[jisho]: https://jisho.org
[screenshots]: .github/screenshots/
[unofficial-jisho-api]: https://www.npmjs.com/package/unofficial-jisho-api
[unofficial_jisho_api]: https://pub.dev/packages/unofficial_jisho_api

View File

@@ -1,167 +1,28 @@
analyzer:
exclude:
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# these rules are documented on and in the same order as
# the Dart Lint rules page to make maintenance easier
# https://github.com/dart-lang/linter/blob/master/example/all.yaml
- always_declare_return_types
# - always_put_control_body_on_new_line # Allow return statements on same line as ifs
# - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219
- always_require_non_null_named_parameters
# - always_specify_types
# - always_use_package_imports # we do this commonly
- annotate_overrides
- avoid_bool_literals_in_conditional_expressions
- avoid_classes_with_only_static_members
- avoid_double_and_int_checks
- avoid_dynamic_calls
- avoid_empty_else
- avoid_equals_and_hash_code_on_mutable_classes
- avoid_escaping_inner_quotes
- avoid_field_initializers_in_const_classes
- avoid_function_literals_in_foreach_calls
- avoid_implementing_value_types
- avoid_init_to_null
- avoid_js_rounded_ints
- avoid_multiple_declarations_per_line
- avoid_null_checks_in_equality_operators
- avoid_positional_boolean_parameters
- avoid_print
# - avoid_private_typedef_functions # we prefer having typedef (discussion in https://github.com/flutter/flutter/pull/16356)
- avoid_redundant_argument_values
- avoid_relative_lib_imports
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
- avoid_returning_null
- avoid_returning_null_for_future
- avoid_returning_null_for_void
- avoid_setters_without_getters
- avoid_shadowing_type_parameters
- avoid_single_cascade_in_expression_statements
- avoid_slow_async_io
- avoid_type_to_string
- avoid_types_as_parameter_names
- avoid_types_on_closure_parameters
- avoid_unnecessary_containers
- avoid_unused_constructor_parameters
- avoid_void_async
- await_only_futures
- camel_case_extensions
- camel_case_types
- cancel_subscriptions
- cast_nullable_to_non_nullable
- control_flow_in_finally
# - curly_braces_in_flow_control_structures
- depend_on_referenced_packages
- deprecated_consistency
- directives_ordering
- do_not_use_environment
- empty_catches
- empty_constructor_bodies
- empty_statements
- eol_at_end_of_file
- exhaustive_cases
- file_names
# - flutter_style_todos # This is mostly a single person project for the time being
- hash_and_equals
- implementation_imports
- iterable_contains_unrelated_type
- join_return_with_assignment
- leading_newlines_in_multiline_strings
- library_names
- library_prefixes
- library_private_types_in_public_api
# - lines_longer_than_80_chars
- list_remove_unrelated_type
- missing_whitespace_between_adjacent_strings
- no_adjacent_strings_in_list
- no_default_cases
- no_duplicate_case_values
- no_logic_in_create_state
# - non_constant_identifier_names # use API names for several variables
- noop_primitive_operations
- null_check_on_nullable_type_parameter
- null_closures
- only_throw_errors
- overridden_fields
- package_api_docs
- package_names
- package_prefixed_library_names
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- prefer_contains
- prefer_equal_for_default_values
- prefer_final_fields
- prefer_final_in_for_each
- prefer_final_locals
# - prefer_final_parameters
- prefer_for_elements_to_map_fromIterable
- prefer_foreach
- prefer_function_declarations_over_variables
- prefer_generic_function_type_aliases
# - prefer_if_elements_to_conditional_expressions
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
- prefer_is_not_operator
- prefer_iterable_whereType
- prefer_null_aware_operators
- prefer_relative_imports
- prefer_single_quotes
- prefer_spread_collections
- prefer_typing_uninitialized_variables
- prefer_void_to_null
- provide_deprecation_message
- recursive_getters
- require_trailing_commas
- sized_box_for_whitespace
- slash_for_doc_comments
- sort_child_properties_last
# - sort_constructors_first
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
- tighten_type_of_initializing_formals
- type_init_formals
- unnecessary_await_in_return
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_getters_setters
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_checks
- unnecessary_null_in_if_null_operators
- unnecessary_nullable_for_final_variable_declarations
- unnecessary_overrides
- unnecessary_parenthesis
- unnecessary_statements
- unnecessary_string_escapes
- unnecessary_string_interpolations
- unnecessary_this
- unrelated_type_equality_checks
- unsafe_html
- use_build_context_synchronously
- use_full_hex_values_for_flutter_colors
- use_function_type_syntax_for_parameters
- use_is_even_rather_than_modulo
- use_key_in_widget_constructors
- use_late_for_private_fields_and_variables
- use_named_constants
- use_raw_strings
- use_rethrow_when_possible
- use_setters_to_change_properties
- use_test_throws_matchers
- valid_regexps
- void_checks
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

6
android/.gitignore vendored
View File

@@ -5,3 +5,9 @@ gradle-wrapper.jar
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks

View File

@@ -1,67 +1,44 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
namespace = "wtf.nani.mugiten"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
lintOptions {
disable 'InvalidPackage'
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.jisho_study_tool"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
applicationId = "wtf.nani.mugiten"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
signingConfig = signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
source = "../.."
}

View File

@@ -1,7 +1,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.jisho_study_tool">
<!-- Flutter needs it to communicate with the running application
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>

View File

@@ -1,21 +1,25 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.jisho_study_tool">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:name="io.flutter.app.FlutterApplication"
android:label="jisho_study_tool"
android:icon="@mipmap/launcher_icon">
android:label="mugiten"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<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"/>
@@ -27,5 +31,20 @@
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>

View File

@@ -1,12 +0,0 @@
package com.example.jisho_study_tool
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}

View File

@@ -0,0 +1,5 @@
package wtf.nani.mugiten
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

View File

@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

View File

@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -3,17 +3,16 @@
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:windowFullscreen">false</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
</resources>

View File

@@ -1,8 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@@ -1,6 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.jisho_study_tool">
<!-- Flutter needs it to communicate with the running application
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>

View File

@@ -1,31 +1,18 @@
buildscript {
ext.kotlin_version = '1.5.0'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
rootProject.buildDir = '../build'
rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
project.evaluationDependsOn(":app")
}
task clean(type: Delete) {
tasks.register("clean", Delete) {
delete rootProject.buildDir
}

View File

@@ -1,4 +1,3 @@
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true

View File

@@ -1,6 +1,5 @@
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip

View File

@@ -1,15 +1,25 @@
include ':app'
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.1.0" apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}
include ":app"

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2443"
sodipodi:version="0.32"
inkscape:version="0.46"
width="228.14874"
height="60.237499"
xml:space="preserve"
sodipodi:docname="Compart Logo.svg"
version="1.0"
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
id="metadata2448"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs2446"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2450" /><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2458"><path
d="M 0,682.495 L 594.96,682.495 L 594.96,48.244 L 0,48.244 L 0,682.495 z"
id="path2460" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2470"><path
d="M 0,841.945 L 594.96,841.945 L 594.96,0.055 L 0,0.055 L 0,841.945 z"
id="path2472" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2496"><path
d="M 0,841.945 L 594.96,841.945 L 594.96,0.055 L 0,0.055 L 0,841.945 z"
id="path2498" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2512"><path
d="M 0,841.945 L 594.96,841.945 L 594.96,0.055 L 0,0.055 L 0,841.945 z"
id="path2514" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2532"><path
d="M 563.399,34.611 L 584.608,34.611 L 584.608,13.402 L 563.399,13.402 L 563.399,34.611 z"
id="path2534" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2554"><path
d="M 0,841.945 L 594.96,841.945 L 594.96,0.055 L 0,0.055 L 0,841.945 z"
id="path2556" /></clipPath></defs><sodipodi:namedview
inkscape:window-height="974"
inkscape:window-width="1280"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
showgrid="false"
inkscape:zoom="4"
inkscape:cx="235.03328"
inkscape:cy="66.25"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:current-layer="g2510" /><g
id="g2452"
inkscape:groupmode="layer"
inkscape:label="Format-Nr-6-2006-03"
transform="matrix(1.25,0,0,-1.25,-226.22766,443.03353)"><g
id="g2508"
transform="translate(-231.45887,306.18182)"><g
id="g2510"
clip-path="url(#clipPath2512)"><path
d="M 574.003,46.057 L 603.942,46.057 L 603.942,2.245 L 574.003,2.245 L 574.003,46.057 z"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2520" /><path
d="M 552.796,48.245 L 603.942,48.245 L 603.942,45.215 L 552.796,45.215 L 552.796,48.245 z"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2522" /><path
d="M 552.796,2.798 L 603.942,2.798 L 603.942,-8.486 L 552.796,-8.486 L 552.796,2.798 z"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2524" /></g></g><path
d="M 331.94013,340.79282 L 353.14913,340.79282 L 353.14913,319.58382 L 331.94013,319.58382 L 331.94013,340.79282 z"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2526" /><g
id="g2528"
transform="translate(-231.45887,306.18182)"><g
id="g2530"
clip-path="url(#clipPath2532)"><path
d="M 574.003,35.651 L 586.674,35.651 L 586.674,11.401 L 574.003,11.401 L 574.003,35.651 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2536" /></g></g><path
d="M 202.82513,335.47782 C 201.67913,336.11382 200.34213,336.43182 199.00613,336.43182 C 193.88213,336.43182 189.87213,332.80382 189.87213,327.55282 C 189.87213,322.62082 193.91413,319.02482 198.75113,319.02482 C 200.15113,319.02482 201.55213,319.31082 202.82513,319.94782 L 202.82513,324.84782 C 202.06113,324.14782 200.94713,323.73482 199.92913,323.73482 C 197.54213,323.73482 195.85513,325.38882 195.85513,327.74382 C 195.85513,330.00382 197.60613,331.72182 199.83313,331.72182 C 200.94713,331.72182 201.96513,331.21282 202.82513,330.57682 L 202.82513,335.47782"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2538" /><path
d="M 213.68613,336.43182 C 208.43513,336.43182 203.85213,333.28182 203.85213,327.71282 C 203.85213,322.14282 208.46713,319.02482 213.68613,319.02482 C 218.93713,319.02482 223.51913,322.17482 223.51913,327.71282 C 223.51913,333.28182 218.93713,336.43182 213.68613,336.43182 z M 213.68613,331.40382 C 216.04113,331.40382 217.40913,329.71682 217.40913,327.71282 C 217.40913,325.64382 216.04113,324.05282 213.68613,324.05282 C 211.33113,324.05282 209.96313,325.64382 209.96313,327.71282 C 209.96313,329.71682 211.33113,331.40382 213.68613,331.40382"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path2540" /><path
d="M 230.92713,335.89082 L 225.13513,335.89082 L 225.13513,319.56582 L 230.92713,319.56582 L 230.92713,327.36282 C 230.92713,329.17582 230.92713,331.94482 233.50513,331.94482 C 236.08213,331.94482 236.08213,329.17582 236.08213,327.36282 L 236.08213,319.56582 L 241.87413,319.56582 L 241.87413,327.36282 C 241.87413,329.30382 241.97013,331.81782 244.64313,331.81782 C 247.09313,331.81782 247.03013,329.04882 247.03013,327.36282 L 247.03013,319.56582 L 252.82213,319.56582 L 252.82213,329.97182 C 252.82213,333.72682 251.39013,336.43182 247.25313,336.43182 C 245.02513,336.43182 242.82913,335.34982 241.71513,333.31382 C 240.53813,335.47782 238.50113,336.43182 236.14613,336.43182 C 234.04613,336.43182 232.35913,335.66882 230.99113,333.85482 L 230.92713,333.85482 L 230.92713,335.89082"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2542" /><path
d="M 260.98013,335.89082 L 255.18813,335.89082 L 255.18813,311.41882 L 260.98013,311.41882 L 260.98013,321.12482 C 262.22113,319.69282 264.16213,319.02482 266.04013,319.02482 C 270.87713,319.02482 274.21913,322.97082 274.21913,327.68082 C 274.21913,332.35882 270.84513,336.43182 265.97613,336.43182 C 264.06713,336.43182 262.09413,335.66882 261.04413,334.04582 L 260.98013,334.04582 L 260.98013,335.89082 z M 264.51213,331.40382 C 266.86713,331.40382 268.23613,329.71682 268.23613,327.71282 C 268.23613,325.64382 266.86713,324.05282 264.51213,324.05282 C 262.15713,324.05282 260.78913,325.64382 260.78913,327.71282 C 260.78913,329.71682 262.15713,331.40382 264.51213,331.40382"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path2544" /><path
d="M 285.26213,331.40382 C 287.61713,331.40382 288.98513,329.71682 288.98513,327.71282 C 288.98513,325.64382 287.61713,324.05282 285.26213,324.05282 C 282.90713,324.05282 281.53913,325.64382 281.53913,327.71282 C 281.53913,329.71682 282.90713,331.40382 285.26213,331.40382 z M 294.58613,335.89082 L 288.79413,335.89082 L 288.79413,334.29982 C 287.58513,335.73182 285.61213,336.43182 283.73413,336.43182 C 278.89713,336.43182 275.55613,332.42282 275.55613,327.74382 C 275.55613,323.06582 278.96113,319.02482 283.79813,319.02482 C 285.70713,319.02482 287.71213,319.75682 288.73113,321.37982 L 288.79413,321.37982 L 288.79413,319.56582 L 294.58613,319.56582 L 294.58613,335.89082"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path2546" /><path
d="M 302.59613,335.89082 L 296.80413,335.89082 L 296.80413,319.56582 L 302.59613,319.56582 L 302.59613,326.15282 C 302.59613,328.95382 303.39213,331.08582 306.60613,331.08582 C 307.49713,331.08582 308.26113,330.98982 309.05613,330.54482 L 309.05613,336.11382 L 307.94313,336.11382 C 305.68313,336.11382 303.77313,335.22282 302.66013,333.21782 L 302.59613,333.21782 L 302.59613,335.89082"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2548" /><g
id="g2550"><g
id="g2552"
clip-path="url(#clipPath2554)"><path
d="M 318.04513,331.11782 L 321.32313,331.11782 L 321.32313,335.89082 L 318.04513,335.89082 L 318.04513,340.79182 L 312.25313,340.79182 L 312.25313,335.89082 L 310.37513,335.89082 L 310.37513,331.11782 L 312.25313,331.11782 L 312.25313,319.56582 L 318.04513,319.56582 L 318.04513,331.11782"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2558" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

BIN
assets/images/logo/mugi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="83.959915mm"
height="86.423279mm"
viewBox="0 0 83.959915 86.423279"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><filter
style="color-interpolation-filters:sRGB"
id="filter29"
x="-0.030891813"
y="-0.026372997"
width="1.0806977"
height="1.0800704"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.635294"
flood-color="rgb(0,0,0)"
id="feFlood28" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="1.000000"
id="feGaussianBlur28" /><feOffset
result="offset"
in="blur"
dx="1.469442"
dy="2.486583"
id="feOffset28" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite28" /><feComposite
result="comp2"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite29" /></filter></defs><g
id="layer1"
transform="translate(-71.699268,-4.8907089)"><path
style="display:inline;fill:#ffe680;fill-opacity:1;filter:url(#filter29)"
d="m 80.301184,97.702012 c -1.457273,-1.69689 -1.470163,-4.799934 -0.0613,-14.750524 2.0346,-14.36976 5.18519,-16.68294 23.493586,-17.24914 l 5.25734,-0.16258 -0.19015,-3.72956 c -0.10459,-2.051256 -0.21993,-3.761127 -0.25631,-3.799714 -0.0364,-0.03859 -2.91194,0.105653 -6.39011,0.320533 -20.741826,1.281422 -22.842716,1.230936 -23.292149,-0.559727 -0.62337,-2.483711 1.412843,-2.848206 21.982719,-3.935052 4.21319,-0.222611 7.67734,-0.430251 7.69813,-0.461422 0.0208,-0.03117 0.17532,-1.059928 0.34343,-2.286127 0.68266,-4.979403 4.27414,-4.306652 4.27414,0.800627 0,1.509867 0.0985,1.561057 3.00487,1.561843 3.53017,9.54e-4 12.71449,0.43988 19.45876,0.929948 2.9689,0.215734 5.79663,0.392243 6.28385,0.392243 h 0.88586 l 4.1e-4,-1.124479 c 0.002,-5.978047 3.73823,-3.517883 3.92216,2.582715 0.40785,13.528362 -2.72438,15.371842 -23.61434,13.898282 -4.20928,-0.29692 -8.12641,-0.53985 -8.70473,-0.53985 h -1.05149 l 0.16538,2.3151 c 0.79769,11.16612 10.39165,17.81656 30.07636,20.84861 6.81496,1.04972 8.54881,1.87478 7.72756,3.677224 -1.18331,2.59708 -18.91832,-0.551852 -28.24427,-5.014904 -9.0616,-4.33655 -13.85887,-11.03693 -13.87453,-19.37863 l -0.005,-2.4474 h -3.66574 c -18.236756,0 -20.562146,2.21241 -21.972106,20.90462 -0.48968,6.491834 -1.65321,9.069924 -3.25277,7.207364 z M 138.9884,65.779458 c 2.32051,-1.08049 4.99323,-6.500502 3.21018,-6.50993 -0.1819,-9.62e-4 -2.53339,-0.171799 -5.22552,-0.379639 -4.81465,-0.371702 -13.93777,-0.83476 -20.30678,-1.030702 l -3.24114,-0.09971 v 3.888641 3.88864 l 7.34219,0.20052 c 4.0382,0.11029 8.29468,0.28993 9.45885,0.39921 4.63418,0.43499 7.294,0.32661 8.76222,-0.35703 z M 75.380944,46.556657 c -1.93629,-0.601761 -1.63421,-2.185774 0.605647,-3.175849 2.18913,-0.967649 12.772843,-1.813816 28.045839,-2.242263 3.05594,-0.08573 5.82414,-0.210389 6.15156,-0.277026 l 0.59531,-0.121158 v -3.169959 -3.169959 l -3.24114,4.44e-4 c -1.78263,2.44e-4 -6.43426,0.182727 -10.336936,0.405517 -14.97356,0.854784 -18.436503,0.65495 -18.436503,-1.063907 0,-2.432958 5.024433,-3.246868 23.698869,-3.838992 4.35536,-0.138098 8.00814,-0.254345 8.11728,-0.258325 0.10914,-0.004 0.19843,-1.614581 0.19843,-3.579112 v -3.571875 l -0.85989,8.84e-4 c -0.47294,4.87e-4 -3.5388,0.180758 -6.81302,0.400604 -23.780816,1.59675 -27.548879,0.21034 -26.586179,-9.782034 0.57959,-6.0157858 3.264683,-6.0233028 4.126933,-0.01155 1.00363,6.997427 1.18108,7.030798 27.949346,5.25599 l 2.18281,-0.144727 v -3.270517 c 0,-9.6315092 3.9781,-10.4501792 4.1883,-0.861928 l 0.0911,4.154428 1.10146,0.131831 c 1.79603,0.214961 16.38858,0.693602 20.68063,0.678332 6.63735,-0.02361 7.53448,-0.681412 8.06683,-5.914803 0.6592,-6.4805388 3.77768,-6.5060208 4.1638,-0.03402 0.60286,10.104706 -1.72403,10.832533 -30.55302,9.556679 l -3.50573,-0.15515 v 3.569869 c 0,1.963428 0.0893,3.571681 0.19844,3.573895 23.61498,0.479191 31.81614,1.538388 31.81614,4.10912 0,1.709173 -3.4866,1.908749 -18.4365,1.055315 -3.90268,-0.22279 -8.55431,-0.405273 -10.33694,-0.405517 l -3.24114,-4.44e-4 v 3.169959 3.169959 l 0.59531,0.121252 c 0.32742,0.06669 2.61938,0.191877 5.09323,0.278196 5.74154,0.200336 23.05139,1.135917 25.13542,1.358545 3.63489,0.388301 5.95312,1.41232 5.95312,2.629631 0,1.670016 -2.03662,1.918068 -10.9802,1.33734 -18.72887,-1.21611 -36.40928,-1.265022 -53.313546,-0.14749 -6.68717,0.442086 -11.176253,0.530578 -12.11503,0.238822 z"
id="path2"
transform="matrix(1,0,0,0.87927938,0,0.59040935)" /></g></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,88 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="116.21878mm"
height="168.41707mm"
viewBox="0 0 116.21878 168.41707"
version="1.1"
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:bbox-paths="true"
inkscape:zoom="0.53199738"
inkscape:cx="313.91132"
inkscape:cy="373.12214"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="40"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<rect
x="200.13075"
y="623.04645"
width="473.25778"
height="261.66223"
id="rect9216" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-42.105021,-80.321739)">
<g
id="g38459"
transform="translate(-1.981914)">
<path
style="fill:#3edd00;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#3edd00;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5"
sodipodi:nodetypes="czzczcc" />
</g>
<g
id="g58222"
transform="matrix(1.0472356,0,0,1.0472356,-7.4785709,-12.201969)">
<path
style="fill:#5a5a5b;fill-opacity:1;stroke:none;stroke-width:0.782822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 56.34787,234.5408 c -0.05858,3.83453 -6.693584,3.22552 -9.000748,2.54845 v 11.77361 c 0,0 6.050037,0.64772 8.989416,0.0651 3.850244,-0.76299 8.07,-1.80117 10.852598,-4.5695 1.825991,-1.81662 3.031513,-4.50415 3.035152,-7.10609 l 0.07989,-56.99147 c 0,-2.4019 -1.130194,-3.39771 -2.941302,-3.39771 -1.811109,0 -10.82162,-0.0237 -10.82162,-0.0237 0,0 -0.134621,53.86566 -0.193204,57.7002 z"
id="path38758"
sodipodi:nodetypes="zccaaszzczz" />
<path
style="fill:#5a5a5b;fill-opacity:1;stroke:none;stroke-width:0.782822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 108.11434,192.24548 13.19136,-0.18107 c 0,0 -1.05395,-16.82423 -22.4507,-16.82423 -21.396781,0 -24.108399,9.77625 -24.108399,17.47804 0.03373,16.90655 34.137529,12.03505 33.890919,22.73722 -0.16184,4.64513 -3.25226,6.88638 -10.625601,6.94079 -10.148162,0 -11.076749,-8.66 -11.076749,-8.66 l -13.254529,-0.0737 c 0,0 1.140963,18.00336 24.160501,17.82398 23.019568,-0.1793 25.236938,-11.80584 25.141638,-18.91852 -0.26776,-20.41059 -32.692002,-8.85701 -34.030014,-22.69393 0.228411,-3.86856 2.091741,-5.44138 8.873879,-5.59706 10.718565,-0.27783 10.287695,7.96851 10.287695,7.96851 z"
id="path43833"
sodipodi:nodetypes="cczccccczccccc" />
<path
style="fill:#5a5a5b;fill-opacity:1;stroke:none;stroke-width:0.782822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.51569,229.9507 v -53.79983 c -0.0852,-3.94995 -1.20339,-4.71895 -5.39279,-4.71895 H 56.595158 l -0.107401,-13.68673 101.836093,-0.3728 -0.16007,13.82911 -14.46247,0.17841 c -3.6821,0 -4.23233,1.6087 -4.23233,4.89922 v 53.5845 z"
id="path50119"
sodipodi:nodetypes="ccccccccccc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,105 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="130.63339mm"
height="130.63339mm"
viewBox="0 0 130.63339 130.63339"
version="1.1"
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="logo_icon.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:bbox-paths="true"
inkscape:zoom="1.1848606"
inkscape:cx="138.8349"
inkscape:cy="252.77235"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="40"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<rect
x="200.13075"
y="623.04645"
width="473.25778"
height="261.66223"
id="rect9216" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4453"
x="-0.034027219"
y="-0.054324626"
width="1.0680544"
height="1.1086493">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.5120504"
id="feGaussianBlur4455" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-34.897717,-99.213577)">
<rect
style="fill:#3edd00;fill-rule:evenodd;stroke:none;stroke-width:0.264583;-inkscape-stroke:none;stop-color:#000000;fill-opacity:1"
id="rect406"
width="130.63339"
height="130.63339"
x="34.897717"
y="99.213577" />
<g
id="g38459-5"
transform="translate(-7.0289917,58.213397)"
style="fill:#000000;fill-opacity:0.26982671;filter:url(#filter4453)">
<path
style="fill:#000000;fill-opacity:0.26982671;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313-3"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#000000;fill-opacity:0.26982671;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5-5"
sodipodi:nodetypes="czzczcc" />
</g>
<g
id="g38459"
transform="translate(-6.7675027,50.808204)"
style="fill:#ffffff">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5"
sodipodi:nodetypes="czzczcc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="131.84314mm"
height="90.09211mm"
viewBox="0 0 131.84314 90.092108"
version="1.1"
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="logo_icon_transparent.svg"
inkscape:export-filename="/home/h7x4/git/jishoStudyTool/assets/images/logo_icon_transparent.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:bbox-paths="true"
inkscape:zoom="1.1848606"
inkscape:cx="142.21082"
inkscape:cy="155.71452"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="40"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<rect
x="200.13075"
y="623.04645"
width="473.25778"
height="261.66223"
id="rect9216" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4453"
x="-0.034027219"
y="-0.054324626"
width="1.0680544"
height="1.1086493">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.5120504"
id="feGaussianBlur4455" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-34.031354,-125.00128)">
<g
id="g38459-5"
transform="matrix(1.1574789,0,0,1.1574789,-23.876386,40.601912)"
style="fill:#000000;fill-opacity:0.269827;filter:url(#filter4453)">
<path
style="fill:#000000;fill-opacity:0.269827;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313-3"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#000000;fill-opacity:0.269827;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5-5"
sodipodi:nodetypes="czzczcc" />
</g>
<g
id="g38459"
transform="matrix(1.1574789,0,0,1.1574789,-23.573718,32.030558)"
style="fill:#ffffff">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5"
sodipodi:nodetypes="czzczcc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="131.84314mm"
height="90.09211mm"
viewBox="0 0 131.84314 90.092108"
version="1.1"
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="green.svg"
inkscape:export-filename="/home/h7x4/git/jishoStudyTool/assets/images/logo_icon_transparent.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:bbox-paths="true"
inkscape:zoom="1.1848606"
inkscape:cx="142.21082"
inkscape:cy="155.71452"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="40"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<rect
x="200.13075"
y="623.04645"
width="473.25778"
height="261.66223"
id="rect9216" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4453"
x="-0.034027219"
y="-0.054324626"
width="1.0680544"
height="1.1086493">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.5120504"
id="feGaussianBlur4455" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-34.031354,-125.00128)">
<g
id="g38459-5"
transform="matrix(1.1574789,0,0,1.1574789,-23.876386,40.601912)"
style="fill:#000000;fill-opacity:0.269827;filter:url(#filter4453)">
<path
style="fill:#000000;fill-opacity:0.269827;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313-3"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#000000;fill-opacity:0.269827;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5-5"
sodipodi:nodetypes="czzczcc" />
</g>
<g
id="g38459"
transform="matrix(1.1574789,0,0,1.1574789,-23.573718,32.030558)"
style="fill:#3edd00;fill-opacity:1">
<path
style="fill:#3edd00;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.857656,80.331202 c 0,0 37.29506,0.0327 41.175585,-0.009 3.88052,-0.0417 8.759679,2.73803 8.746059,6.91875 -0.0136,4.18072 0.0381,59.881448 0.0381,59.881448 0,0 -1.15495,-6.96923 -10.211389,-6.96837 -9.056438,8.7e-4 -40.947893,0.0796 -40.947893,0.0796 z"
id="path1313"
sodipodi:nodetypes="czzczcc" />
<path
style="fill:#3edd00;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.10617,80.331202 c 0,0 -37.29506,0.0327 -41.17558,-0.009 -3.88052,-0.0417 -8.75968,2.73803 -8.74606,6.91875 0.0136,4.18072 -0.0381,59.881448 -0.0381,59.881448 0,0 1.15495,-6.96923 10.21139,-6.96837 9.05643,8.7e-4 40.94789,0.0796 40.94789,0.0796 z"
id="path1313-5"
sodipodi:nodetypes="czzczcc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 212 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

26
flake.lock generated Normal file
View File

@@ -0,0 +1,26 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

47
flake.nix Normal file
View File

@@ -0,0 +1,47 @@
{
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: let
inherit (nixpkgs) lib;
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = f: lib.genAttrs systems (system: let
pkgs = import nixpkgs {
inherit system;
config = {
android_sdk.accept_license = true;
allowUnfree = true;
};
};
androidSdk = (pkgs.androidenv.composeAndroidPackages {
buildToolsVersions = [ "33.0.1" "34.0.0" ];
platformVersions = [ "35" "34" ];
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
}).androidsdk;
in f system pkgs androidSdk);
in {
devShells = forAllSystems (_: pkgs: androidSdk: {
default = let
flutter' = pkgs.flutter327;
jdk' = pkgs.jdk17;
in pkgs.mkShell {
packages = [
flutter'
pkgs.sqlite-interactive
androidSdk
jdk'
];
env = {
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/34.0.0/aapt2";
FLUTTER_SDK = "${flutter'}";
JAVA_HOME = "${jdk'}/lib/openjdk";
};
};
});
};
}

View File

@@ -1,76 +0,0 @@
flutter_native_splash:
# This package generates native code to customize Flutter's default white native splash screen
# with background color and splash image.
# Customize the parameters below, and run the following command in the terminal:
# flutter pub run flutter_native_splash:create
# To restore Flutter's default white splash screen, run the following command in the terminal:
# flutter pub run flutter_native_splash:remove
# color or background_image is the only required parameter. Use color to set the background
# of your splash screen to a solid color. Use background_image to set the background of your
# splash screen to a png image. This is useful for gradients. The image will be stretch to the
# size of the app. Only one parameter can be used, color and background_image cannot both be set.
color: "#3edd00"
color_dark: "#202020"
# background_image: ""
# Optional parameters are listed below. To enable a parameter, uncomment the line by removing
# the leading # character.
# The image parameter allows you to specify an image used in the splash screen. It must be a
# png file.
#image: assets/splash.png
image: "assets/images/logo/logo_icon_transparent.png"
image_dark: "assets/images/logo/logo_icon_transparent_green.png"
# The color_dark, background_image_dark, and image_dark are parameters that set the background
# and image when the device is in dark mode. If they are not specified, the app will use the
# parameters from above. If the image_dark parameter is specified, color_dark or
# background_image_dark must be specified. color_dark and background_image_dark cannot both be
# set.
#color_dark: "#042a49"
#background_image_dark: "assets/dark-background.png"
#image_dark: assets/splash-invert.png
# The android, ios and web parameters can be used to disable generating a splash screen on a given
# platform.
#android: false
#ios: false
#web: false
# The position of the splash image can be set with android_gravity, ios_content_mode, and
# web_image_mode parameters. All default to center.
#
# android_gravity can be one of the following Android Gravity (see
# https://developer.android.com/reference/android/view/Gravity): bottom, center,
# center_horizontal, center_vertical, clip_horizontal, clip_vertical, end, fill, fill_horizontal,
# fill_vertical, left, right, start, or top.
#android_gravity: center
#
# ios_content_mode can be one of the following iOS UIView.ContentMode (see
# https://developer.apple.com/documentation/uikit/uiview/contentmode): scaleToFill,
# scaleAspectFit, scaleAspectFill, center, top, bottom, left, right, topLeft, topRight,
# bottomLeft, or bottomRight.
#ios_content_mode: center
#
# web_image_mode can be one of the following modes: center, contain, stretch, and cover.
#web_image_mode: center
# To hide the notification bar, use the fullscreen parameter. Has no affect in web since web
# has no notification bar. Defaults to false.
# NOTE: Unlike Android, iOS will not automatically show the notification bar when the app loads.
# To show the notification bar, add the following code to your Flutter app:
# WidgetsFlutterBinding.ensureInitialized();
# SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom, SystemUiOverlay.top]);
#fullscreen: true
# If you have changed the name(s) of your info.plist file(s), you can specify the filename(s)
# with the info_plist_files parameter. Remove only the # characters in the three lines below,
# do not remove any spaces:
#info_plist_files:
# - 'ios/Runner/Info-Debug.plist'
# - 'ios/Runner/Info-Release.plist'
# To enable support for Android 12, set the following parameter to true. Defaults to false.
#android12: true

32
ios/.gitignore vendored
View File

@@ -1,32 +0,0 @@
*.mode1v3
*.mode2v3
*.moved-aside
*.pbxuser
*.perspectivev3
**/*sync/
.sconsign.dblite
.tags*
**/.vagrant/
**/DerivedData/
Icon?
**/Pods/
**/.symlinks/
profile
xcuserdata
**/.generated/
Flutter/App.framework
Flutter/Flutter.framework
Flutter/Flutter.podspec
Flutter/Generated.xcconfig
Flutter/app.flx
Flutter/app.zip
Flutter/flutter_assets/
Flutter/flutter_export_environment.sh
ServiceDefinitions.json
Runner/GeneratedPluginRegistrant.*
# Exceptions to above rules.
!default.mode1v3
!default.mode2v3
!default.pbxuser
!default.perspectivev3

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
</dict>
</plist>

View File

@@ -1 +0,0 @@
#include "Generated.xcconfig"

View File

@@ -1 +0,0 @@
#include "Generated.xcconfig"

View File

@@ -1,518 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B80C3931E831B6300D905FE /* App.framework */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEBA1CF902C7004384FC /* Flutter.framework */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
97C146F11CF9000F007C117D /* Supporting Files */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
);
path = Runner;
sourceTree = "<group>";
};
97C146F11CF9000F007C117D /* Supporting Files */ = {
isa = PBXGroup;
children = (
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.jishoStudyTool;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.jishoStudyTool;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.jishoStudyTool;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -1,13 +0,0 @@
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

View File

@@ -1,122 +0,0 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,52 +0,0 @@
{
"images" : [
{
"filename" : "background.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "darkbackground.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

View File

@@ -1,56 +0,0 @@
{
"images" : [
{
"filename" : "LaunchImage.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "LaunchImageDark.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "LaunchImage@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "LaunchImageDark@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "LaunchImage@3x.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "LaunchImageDark@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Some files were not shown because too many files have changed in this diff Show More