Commit 5d3d676a authored by 林生雨's avatar 林生雨

commit

parent 4e7c15a7
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<codeStyleSettings language="XML">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
</code_scheme>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
\ No newline at end of file
<component name="libraryTable">
<library name="Dart SDK">
<CLASSES>
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/async" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/collection" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/convert" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/core" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/developer" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/html" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/io" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/isolate" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/math" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/mirrors" />
<root url="file:///Users/apple/Downloads/flutter/bin/cache/dart-sdk/lib/typed_data" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="Flutter Plugins" type="FlutterPluginsLibraryType">
<CLASSES>
<root url="file://$PROJECT_DIR$" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="Flutter for Android">
<CLASSES>
<root url="jar:///Users/apple/Downloads/flutter/bin/cache/artifacts/engine/android-arm/flutter.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectType">
<option name="id" value="io.flutter" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/gengmei_flutter_plugin.iml" filepath="$PROJECT_DIR$/gengmei_flutter_plugin.iml" />
<module fileurl="file://$PROJECT_DIR$/android/gengmei_flutter_plugin_android.iml" filepath="$PROJECT_DIR$/android/gengmei_flutter_plugin_android.iml" />
<module fileurl="file://$PROJECT_DIR$/example/android/gengmei_flutter_plugin_example_android.iml" filepath="$PROJECT_DIR$/example/android/gengmei_flutter_plugin_example_android.iml" />
</modules>
</component>
</project>
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="example/lib/main.dart" type="FlutterRunConfigurationType" factoryName="Flutter" singleton="false">
<option name="filePath" value="$PROJECT_DIR$/example/lib/main.dart" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin" vcs="Git" />
</component>
</project>
\ No newline at end of file
...@@ -6,10 +6,9 @@ ...@@ -6,10 +6,9 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="5be6bbb5-7d6e-4540-a24f-d2b3bf78b3ba" name="Default Changelist" comment=""> <list default="true" id="5be6bbb5-7d6e-4540-a24f-d2b3bf78b3ba" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.m" beforeDir="false" afterPath="$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.m" afterDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/.dart_tool/" /> <ignored path="$PROJECT_DIR$/.dart_tool/" />
<ignored path="$PROJECT_DIR$/.idea/" /> <ignored path="$PROJECT_DIR$/.idea/" />
...@@ -26,47 +25,48 @@ ...@@ -26,47 +25,48 @@
<component name="DefaultGradleProjectSettings"> <component name="DefaultGradleProjectSettings">
<option name="isMigrated" value="true" /> <option name="isMigrated" value="true" />
</component> </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="50d1ce73" /> <component name="ExecutionTargetManager" SELECTED_TARGET="AKC0218316000622" />
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/build.gradle"> <entry file="file://$PROJECT_DIR$/example/android/app/app.iml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor" />
<state relative-caret-position="203">
<caret line="39" selection-start-line="39" selection-start-column="2" selection-end-line="41" selection-end-column="7" />
</state>
</provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin.iml"> <entry file="file://$PROJECT_DIR$/ios/Classes/Image/AlbumItem.m">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin_android.iml"> <entry file="file://$PROJECT_DIR$/ios/Classes/Image/AlbumItem.h">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml"> <entry file="file://$PROJECT_DIR$/ios/Classes/Image/ResultManager.m">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor" />
<state relative-caret-position="-153">
<caret line="28" column="40" selection-start-line="28" selection-start-column="40" selection-end-line="28" selection-end-column="40" />
</state>
</provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.metadata"> <entry file="file://$PROJECT_DIR$/ios/Classes/Image/ResultManager.h">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.gitignore"> <entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.h">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154"> <state relative-caret-position="88">
<caret line="7" selection-start-line="7" selection-end-line="7" /> <caret line="4" selection-start-line="4" selection-end-line="4" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.m">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="245">
<caret line="13" column="4" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="4" />
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -85,15 +85,6 @@ ...@@ -85,15 +85,6 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/SharedPlugin.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1606">
<caret line="76" column="75" selection-start-line="76" selection-start-column="75" selection-end-line="76" selection-end-column="75" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pubspec.yaml"> <entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
...@@ -153,10 +144,10 @@ ...@@ -153,10 +144,10 @@
</option> </option>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="338" /> <option name="x" value="523" />
<option name="y" value="-975" /> <option name="y" value="-1080" />
<option name="width" value="1440" /> <option name="width" value="1920" />
<option name="height" value="812" /> <option name="height" value="1080" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" /> <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView"> <component name="ProjectView">
...@@ -164,7 +155,6 @@ ...@@ -164,7 +155,6 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
...@@ -175,30 +165,28 @@ ...@@ -175,30 +165,28 @@
<path> <path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" /> <item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" /> <item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
<item name=".idea" type="462c0819:PsiDirectoryNode" /> <item name="ios" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" /> <item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" /> <item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
<item name="android" type="462c0819:PsiDirectoryNode" /> <item name="ios" type="462c0819:PsiDirectoryNode" />
<item name="Classes" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" /> <item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" /> <item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
<item name="android" type="462c0819:PsiDirectoryNode" /> <item name="ios" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" /> <item name="Classes" type="462c0819:PsiDirectoryNode" />
</path> <item name="Image" type="462c0819:PsiDirectoryNode" />
<path>
<item name="gengmei_flutter_plugin" type="b2602c69:ProjectViewProjectNode" />
<item name="gengmei_flutter_plugin" type="462c0819:PsiDirectoryNode" />
<item name="lib" type="462c0819:PsiDirectoryNode" />
</path> </path>
</expand> </expand>
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
<pane id="AndroidView" /> <pane id="AndroidView" />
<pane id="PackagesPane" />
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
...@@ -244,10 +232,9 @@ ...@@ -244,10 +232,9 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="431" y="-980" width="1440" height="812" extended-state="0" /> <frame x="523" y="-1080" width="1920" height="1080" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.22818312" /> <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.16986156" />
<window_info id="Captures" order="1" side_tool="true" /> <window_info id="Captures" order="1" side_tool="true" />
<window_info id="Structure" order="2" side_tool="true" /> <window_info id="Structure" order="2" side_tool="true" />
<window_info id="Image Layers" order="3" /> <window_info id="Image Layers" order="3" />
...@@ -257,7 +244,7 @@ ...@@ -257,7 +244,7 @@
<window_info id="Capture Tool" order="7" /> <window_info id="Capture Tool" order="7" />
<window_info id="Favorites" order="8" side_tool="true" /> <window_info id="Favorites" order="8" side_tool="true" />
<window_info anchor="bottom" id="Dart Analysis" order="0" weight="0.32963988" /> <window_info anchor="bottom" id="Dart Analysis" order="0" weight="0.32963988" />
<window_info anchor="bottom" id="Run" order="1" weight="0.6333333" /> <window_info anchor="bottom" id="Run" order="1" weight="0.42222223" />
<window_info anchor="bottom" id="TODO" order="2" /> <window_info anchor="bottom" id="TODO" order="2" />
<window_info anchor="bottom" id="Android Profiler" order="3" show_stripe_button="false" /> <window_info anchor="bottom" id="Android Profiler" order="3" show_stripe_button="false" />
<window_info anchor="bottom" id="Logcat" order="4" weight="0.6425591" /> <window_info anchor="bottom" id="Logcat" order="4" weight="0.6425591" />
...@@ -266,7 +253,7 @@ ...@@ -266,7 +253,7 @@
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="bottom" id="Flutter Performance" order="8" side_tool="true" /> <window_info anchor="bottom" id="Flutter Performance" order="8" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="9" /> <window_info anchor="bottom" id="Version Control" order="9" />
<window_info anchor="bottom" id="Messages" order="10" weight="0.34567901" /> <window_info anchor="bottom" id="Messages" order="10" visible="true" weight="0.3451417" />
<window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" weight="0.32960597" /> <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" weight="0.32960597" />
<window_info anchor="right" id="Capture Analysis" order="1" /> <window_info anchor="right" id="Capture Analysis" order="1" />
<window_info anchor="right" id="Theme Preview" order="2" /> <window_info anchor="right" id="Theme Preview" order="2" />
...@@ -278,34 +265,6 @@ ...@@ -278,34 +265,6 @@
</layout> </layout>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/io/file.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="517" column="12" selection-start-line="517" selection-start-column="12" selection-end-line="517" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/typed_data/typed_data.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="787" column="15" selection-start-line="787" selection-start-column="15" selection-end-line="787" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Downloads/flutter/packages/flutter/lib/src/widgets/image.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="161">
<caret line="522" column="13" selection-start-line="522" selection-start-column="13" selection-end-line="522" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/async/stream.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="139">
<caret line="827" column="9" selection-start-line="827" selection-start-column="9" selection-end-line="827" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/io/file_system_entity.dart"> <entry file="file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/io/file_system_entity.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-125"> <state relative-caret-position="-125">
...@@ -344,23 +303,6 @@ ...@@ -344,23 +303,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.m">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="13" column="4" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/Image/AlbumItem.m">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="88">
<caret line="4" selection-start-line="4" selection-end-line="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/kotlin/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt" /> <entry file="file://$PROJECT_DIR$/android/src/main/kotlin/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt" />
<entry file="file://$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml"> <entry file="file://$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
...@@ -484,30 +426,34 @@ ...@@ -484,30 +426,34 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/pubspec.yaml"> <entry file="file://$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/a" />
<entry file="file://$PROJECT_DIR$/android/build.gradle">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44"> <state relative-caret-position="858">
<caret line="2" column="9" selection-start-line="2" selection-start-column="9" selection-end-line="2" selection-end-column="16" /> <caret line="39" selection-start-line="39" selection-start-column="2" selection-end-line="41" selection-end-column="7" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/src/main/AndroidManifest.xml"> <entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin.iml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin_android.iml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="264"> <state relative-caret-position="220">
<caret line="12" column="11" selection-start-line="12" selection-start-column="11" selection-end-line="12" selection-end-column="11" /> <caret line="10" column="75" selection-start-line="10" selection-start-column="75" selection-end-line="10" selection-end-column="75" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/a">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml"> <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-153"> <state relative-caret-position="1474">
<caret line="28" column="40" selection-start-line="28" selection-start-column="40" selection-end-line="28" selection-end-column="40" /> <caret line="67" column="40" selection-start-line="67" selection-start-column="40" selection-end-line="67" selection-end-column="40" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.metadata">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore"> <entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154"> <state relative-caret-position="154">
...@@ -518,21 +464,48 @@ ...@@ -518,21 +464,48 @@
<entry file="file://$PROJECT_DIR$/.packages"> <entry file="file://$PROJECT_DIR$/.packages">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/.metadata"> <entry file="file://$PROJECT_DIR$/android/src/main/AndroidManifest.xml">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="264">
<caret line="12" column="11" selection-start-line="12" selection-start-column="11" selection-end-line="12" selection-end-column="11" />
</state>
</provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/build.gradle"> <entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="203"> <state relative-caret-position="44">
<caret line="39" selection-start-line="39" selection-start-column="2" selection-end-line="41" selection-end-column="7" /> <caret line="2" column="9" selection-start-line="2" selection-start-column="9" selection-end-line="2" selection-end-column="16" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin.iml"> <entry file="file://$PROJECT_DIR$/example/android/app/app.iml">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/gengmei_flutter_plugin_android.iml"> <entry file="file://$PROJECT_DIR$/ios/Classes/Image/AlbumItem.m">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/Image/AlbumItem.h">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/Image/ResultManager.m">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/Image/ResultManager.h">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="88">
<caret line="4" selection-start-line="4" selection-end-line="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/ios/Classes/GengmeiFlutterPlugin.m">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="245">
<caret line="13" column="4" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="4" />
</state>
</provider>
</entry>
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -10,9 +10,10 @@ ...@@ -10,9 +10,10 @@
@property(nonatomic)int nowSize; @property(nonatomic)int nowSize;
@property(nonatomic) long resultKey; @property(nonatomic) long resultKey;
@property(nonatomic)long nativeCameraKey; @property(nonatomic)long nativeCameraKey;
@property(nonatomic)NSMutableDictionary<NSString*,NSMutableArray<NSMutableDictionary<NSString*,NSObject*>*>*>* finalMap; @property(strong,nonatomic)NSMutableDictionary<NSString*,NSMutableArray<NSMutableDictionary<NSString*,NSObject*>*>*>* finalMap;
@property(nonatomic,strong) UIImagePickerController *imagePicker; @property(nonatomic,strong) UIImagePickerController *imagePicker;
@property(atomic)Boolean quitPage; @property(atomic)Boolean quitPage;
@property(atomic)Boolean execdTask;
@end @end
@implementation GengmeiFlutterPlugin @implementation GengmeiFlutterPlugin
...@@ -234,18 +235,27 @@ dispatch_queue_t queue; ...@@ -234,18 +235,27 @@ dispatch_queue_t queue;
} }
-(void)scanPhone:(long)resultId{ -(void)scanPhone:(long)resultId{
self.nowSize=0;
self.quitPage=false; self.quitPage=false;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ if (self.finalMap==nil) {
self.finalMap=[NSMutableDictionary dictionary];
}
if ([self.finalMap count]>0&&self.execdTask) {
[self resultImgs:resultId];
return;
}
self.nowSize=0;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"init!!!");
self.needSize=0; self.needSize=0;
if (self.finalMap==nil) {
self.finalMap=[NSMutableDictionary dictionary];
}
[self.finalMap removeAllObjects]; [self.finalMap removeAllObjects];
[assetCollectionList removeAllObjects]; [assetCollectionList removeAllObjects];
[self scanPhoneImage]; [self scanPhoneImage];
[self copyImg:resultId]; [self copyImg:resultId];
}); });
// dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
//
// });
} }
-(void)scanPhoneImage{ -(void)scanPhoneImage{
...@@ -290,6 +300,7 @@ dispatch_queue_t queue; ...@@ -290,6 +300,7 @@ dispatch_queue_t queue;
} }
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[[ResultManager sharedSingleton] resultSuccess:[NSNumber numberWithLong:resultId] :self.finalMap]; [[ResultManager sharedSingleton] resultSuccess:[NSNumber numberWithLong:resultId] :self.finalMap];
self.execdTask=true;
}); });
} }
...@@ -302,101 +313,64 @@ dispatch_queue_t queue; ...@@ -302,101 +313,64 @@ dispatch_queue_t queue;
NSLog(@"09090909090 %d %d",[assetResult count],self.needSize); NSLog(@"09090909090 %d %d",[assetResult count],self.needSize);
for (int i=0; i<[assetResult count]; i++) { for (int i=0; i<[assetResult count]; i++) {
__block NSString* docName=[item collectionTitle]; __block NSString* docName=[item collectionTitle];
PHAsset * assets=[assetResult objectAtIndex:i]; PHAsset * assets=[assetResult objectAtIndex:i];
// if (assets.mediaType != PHAssetMediaTypeVideo){ NSString * imgName=[assets valueForKey:@"filename"];
PHImageRequestOptions *imageRequestOption = [[PHImageRequestOptions alloc] init]; if (imgName==nil) {
imageRequestOption.synchronous =YES; NSLog(@"NEWWWW!!!!! image name is Null!!! ");
int picWidth=[assets pixelWidth]; NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)([[NSDate date] timeIntervalSince1970]*100000)];
int picHeight=[assets pixelHeight]; imgName=[NSString stringWithFormat:@"IMG_%",timeSp];
float scareSize=1; }
// if (picWidth>4000) { __block NSString *tmpPath=[cacheDirectory stringByAppendingPathComponent:imgName];
// scareSize=480.0/picWidth; if ([fileManager fileExistsAtPath:tmpPath]==YES){
// }else if(picWidth>3000){ self.nowSize++;
// scareSize=600.0/picWidth; NSMutableDictionary* queryItemDict = [NSMutableDictionary dictionary];
// }else if (picWidth>1024) { [queryItemDict setObject:tmpPath forKey:@"path"];
// scareSize=1; NSMutableArray * arr=self.finalMap[docName];
// } if (arr==nil) {
scareSize=340.0/picWidth; self.finalMap[docName]=[NSMutableArray array];
NSLog(@"SCARESIZE %d",picWidth); [self.finalMap[docName] addObject:queryItemDict];
CGSize size=CGSizeMake(picWidth*scareSize, picHeight*scareSize); }else{
imageRequestOption.networkAccessAllowed = YES; [self.finalMap[docName] addObject:queryItemDict];
[[PHImageManager defaultManager] requestImageForAsset:assets targetSize:size contentMode:PHImageContentModeDefault options:imageRequestOption resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
// NSLog(@"INITTT___))))00000 %d %d %@",i,[assetResult count],info);
// NSURL * url = [info objectForKey:@"PHImageFileURLKey"];
// UIImage *getImage = [UIImage imageWithContentsOfFile:file];
NSData *data;
if (UIImagePNGRepresentation(result) == nil){
data = UIImageJPEGRepresentation(result, 1);
} else {
data = UIImagePNGRepresentation(result);
} }
NSString *tmpPath; NSLog(@"SIZEEE %d %d ",self.nowSize,self.needSize);
NSString* newString1=[NSString stringWithFormat:@"i%@",data]; if (self.nowSize==self.needSize) {
if ([newString1 length]>5000) { [self resultImgs:resultId];
NSString *temp = [newString1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; }
NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]]; }else{
NSString *string1=[text substringWithRange:NSMakeRange([text length]-2000,50)]; NSLog(@"file NOT EXIT !! ");
tmpPath=[cacheDirectory stringByAppendingPathComponent:string1]; PHImageRequestOptions *imageRequestOption = [[PHImageRequestOptions alloc] init];
imageRequestOption.synchronous =YES;
if ([fileManager fileExistsAtPath:tmpPath]==YES) { int picWidth=[assets pixelWidth];
self.nowSize++; int picHeight=[assets pixelHeight];
NSMutableDictionary* queryItemDict = [NSMutableDictionary dictionary]; float scareSize=1;
[queryItemDict setObject:tmpPath forKey:@"path"]; scareSize=340.0/picWidth;
NSMutableArray * arr=self.finalMap[docName]; NSLog(@"SCARESIZE %d",picWidth);
if (arr==nil) { CGSize size=CGSizeMake(picWidth*scareSize, picHeight*scareSize);
self.finalMap[docName]=[NSMutableArray array]; imageRequestOption.networkAccessAllowed = YES;
[self.finalMap[docName] addObject:queryItemDict]; [[PHImageManager defaultManager] requestImageForAsset:assets targetSize:size contentMode:PHImageContentModeDefault options:imageRequestOption resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
}else{ // NSLog(@"INITTT___))))00000 %d %d %@",i,[assetResult count],info);
[self.finalMap[docName] addObject:queryItemDict]; // NSURL * url = [info objectForKey:@"PHImageFileURLKey"];
} // UIImage *getImage = [UIImage imageWithContentsOfFile:file];
NSLog(@"SIZEEE %d %d ",self.nowSize,self.needSize); NSData *data;
if (self.nowSize==self.needSize) { if (UIImagePNGRepresentation(result) == nil){
[self resultImgs:resultId]; data = UIImageJPEGRepresentation(result, 1);
} } else {
}else{ data = UIImagePNGRepresentation(result);
NSLog(@"File NotExists!!! %@",tmpPath);
if ([[NSFileManager defaultManager] createFileAtPath:tmpPath contents:data attributes:nil]) {
NSLog(@"result %@",tmpPath);
self.nowSize++;
NSMutableDictionary* queryItemDict = [NSMutableDictionary dictionary];
[queryItemDict setObject:tmpPath forKey:@"path"];
NSMutableArray * arr=self.finalMap[docName];
if (arr==nil) {
self.finalMap[docName]=[NSMutableArray array];
[self.finalMap[docName] addObject:queryItemDict];
}else{
[self.finalMap[docName] addObject:queryItemDict];
}
NSLog(@"SIZEEE %d %d ",self.nowSize,self.needSize);
if (self.nowSize==self.needSize) {
[self resultImgs:resultId];
}
} else {
NSLog(@"ERRORRRR ");
self.needSize--;
}
} }
}else{
NSLog(@"File TOO LOw???? !!! %@",tmpPath);
NSString *guid = [[NSProcessInfo processInfo] globallyUniqueString];
NSString *tmpFile = [NSString stringWithFormat:@"image_picker_%@", guid];
tmpPath= [cacheDirectory stringByAppendingPathComponent:tmpFile];
if ([[NSFileManager defaultManager] createFileAtPath:tmpPath contents:data attributes:nil]) { if ([[NSFileManager defaultManager] createFileAtPath:tmpPath contents:data attributes:nil]) {
NSLog(@"result %@",tmpPath); NSLog(@"result %@",tmpPath);
self.nowSize++; self.nowSize++;
NSMutableDictionary* queryItemDict = [NSMutableDictionary dictionary]; NSMutableDictionary* queryItemDict = [NSMutableDictionary dictionary];
[queryItemDict setObject:tmpPath forKey:@"path"]; [queryItemDict setObject:tmpPath forKey:@"path"];
NSMutableArray * arr=self.finalMap[docName]; NSMutableArray * arr=self.finalMap[docName];
if (arr==nil) { if (arr==nil) {
self.finalMap[docName]=[NSMutableArray array]; self.finalMap[docName]=[NSMutableArray array];
[self.finalMap[docName] addObject:queryItemDict]; [self.finalMap[docName] addObject:queryItemDict];
}else{ }else{
[self.finalMap[docName] addObject:queryItemDict]; [self.finalMap[docName] addObject:queryItemDict];
} }
NSLog(@"SIZEEE %d %d ",self.nowSize,self.needSize); NSLog(@"SIZEEE %d %d ",self.nowSize,self.needSize);
if (self.nowSize==self.needSize) { if (self.nowSize==self.needSize) {
[self resultImgs:resultId]; [self resultImgs:resultId];
...@@ -405,8 +379,8 @@ dispatch_queue_t queue; ...@@ -405,8 +379,8 @@ dispatch_queue_t queue;
NSLog(@"ERRORRRR "); NSLog(@"ERRORRRR ");
self.needSize--; self.needSize--;
} }
} }];
}]; }
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment