Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
flutter_plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林生雨
flutter_plugin
Commits
2f543fef
Commit
2f543fef
authored
Nov 01, 2019
by
林生雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit
parent
aaca203f
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
351 additions
and
99 deletions
+351
-99
workspace.xml
.idea/workspace.xml
+163
-82
AndroidManifest.xml
android/src/main/AndroidManifest.xml
+5
-1
GengmeiFlutterPlugin.kt
...om/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt
+10
-0
ImageRespository.kt
...flutter_plugin/ImagePlugin/repository/ImageRespository.kt
+9
-7
VideoActivity.kt
...a/com/example/gengmei_flutter_plugin/act/VideoActivity.kt
+40
-0
MyUtil.kt
...n/java/com/example/gengmei_flutter_plugin/utils/MyUtil.kt
+56
-0
video_act.xml
android/src/main/res/layout/video_act.xml
+24
-0
styles.xml
android/src/main/res/values/styles.xml
+8
-0
AlbumModel.dart
example/lib/AlbumModel/page/album/AlbumModel.dart
+34
-7
AlbumPage.dart
example/lib/AlbumModel/page/album/AlbumPage.dart
+2
-2
No files found.
.idea/workspace.xml
View file @
2f543fef
...
...
@@ -5,7 +5,28 @@
<option
name=
"TOOL_WINDOW_CONFIGURED_FILTER"
value=
"Show only selected application"
/>
</component>
<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
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/act/VideoActivity.kt"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/android/src/main/res/layout/video_act.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/android/src/main/res/values/colors.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/android/src/main/res/values/styles.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/java/com/example/gengmei_flutter_plugin/act/VideoActivity.kt"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/res/layout/video_act.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/res/values/colors.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/res/values/styles.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/AndroidManifest.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/AndroidManifest.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/ImagePlugin/repository/ImageRespository.kt"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/example/gengmei_flutter_plugin/ImagePlugin/repository/ImageRespository.kt"
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/android/src/main/AndroidManifest.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/AndroidManifest.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/java/com/example/gengmei_flutter_plugin/ImagePlugin/repository/ImageRespository.kt"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/android/src/main/java/com/example/gengmei_flutter_plugin/ImagePlugin/repository/ImageRespository.kt"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/example/lib/AlbumModel/page/album/AlbumModel.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/example/lib/AlbumModel/page/album/AlbumModel.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/example/lib/AlbumModel/page/album/AlbumPage.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/.symlinks/plugins/gengmei_flutter_plugin/example/lib/AlbumModel/page/album/AlbumPage.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumModel.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumModel.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPage.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPage.dart"
afterDir=
"false"
/>
</list>
<ignored
path=
"$PROJECT_DIR$/.dart_tool/"
/>
<ignored
path=
"$PROJECT_DIR$/.idea/"
/>
<ignored
path=
"$PROJECT_DIR$/.pub/"
/>
...
...
@@ -27,8 +48,8 @@
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumModel.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
311
"
>
<caret
line=
"
242"
column=
"41"
selection-start-line=
"242"
selection-start-column=
"41"
selection-end-line=
"242"
selection-end-column=
"41
"
/>
<state
relative-caret-position=
"
2045
"
>
<caret
line=
"
378"
column=
"29"
selection-start-line=
"378"
selection-start-column=
"29"
selection-end-line=
"378"
selection-end-column=
"29
"
/>
<folding>
<element
signature=
"e#46#66#0"
expanded=
"true"
/>
</folding>
...
...
@@ -37,82 +58,97 @@
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/
main
.dart"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/
AlbumModel/page/preview/AlbumPreviewPage
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"2
42
"
>
<caret
line=
"
173"
column=
"47"
selection-start-line=
"173"
selection-start-column=
"47"
selection-end-line=
"173"
selection-end-column=
"47
"
/>
<state
relative-caret-position=
"2
53
"
>
<caret
line=
"
36"
column=
"30"
selection-start-line=
"36"
selection-start-column=
"30"
selection-end-line=
"36"
selection-end-column=
"30
"
/>
<folding>
<element
signature=
"e#
0#17
#0"
expanded=
"true"
/>
<element
signature=
"e#
45#62
#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
bin/cache/pkg/sky_engine/lib/core/doubl
e.dart"
>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
packages/flutter/lib/src/widgets/imag
e.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
135
"
>
<caret
line=
"
29"
column=
"22"
selection-start-line=
"29"
selection-start-column=
"22"
selection-end-line=
"29"
selection-end-column=
"22
"
/>
<state
relative-caret-position=
"
-109
"
>
<caret
line=
"
326"
column=
"8"
selection-start-line=
"326"
selection-start-column=
"8"
selection-end-line=
"326"
selection-end-column=
"8
"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$
PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPag
e.dart"
>
<entry
file=
"file://$
USER_HOME$/Downloads/flutter/bin/cache/dart-sdk/lib/async/zon
e.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"271"
>
<caret
line=
"186"
column=
"31"
selection-start-line=
"186"
selection-start-column=
"31"
selection-end-line=
"186"
selection-end-column=
"31"
/>
<folding>
<element
signature=
"e#45#62#0"
expanded=
"true"
/>
</folding>
<state
relative-caret-position=
"22"
>
<caret
line=
"1131"
column=
"37"
selection-start-line=
"1131"
selection-start-column=
"37"
selection-end-line=
"1131"
selection-end-column=
"37"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$
USER_HOME$/Downloads/flutter/packages/flutter/lib/src/widgets/scroll_view
.dart"
>
<entry
file=
"file://$
PROJECT_DIR$/example/lib/main
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"135"
>
<caret
line=
"929"
column=
"22"
selection-start-line=
"929"
selection-start-column=
"22"
selection-end-line=
"929"
selection-end-column=
"22"
/>
<state
relative-caret-position=
"242"
>
<caret
line=
"173"
column=
"47"
selection-start-line=
"173"
selection-start-column=
"47"
selection-end-line=
"173"
selection-end-column=
"47"
/>
<folding>
<element
signature=
"e#0#17#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
packages/flutter/lib/src/widgets/framework
.dart"
>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
bin/cache/pkg/sky_engine/lib/core/double
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"135"
>
<caret
line=
"
3858"
column=
"8"
selection-start-line=
"3858"
selection-start-column=
"8"
selection-end-line=
"3858"
selection-end-column=
"8
"
/>
<caret
line=
"
29"
column=
"22"
selection-start-line=
"29"
selection-start-column=
"22"
selection-end-line=
"29"
selection-end-column=
"22
"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$
USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/async/future
.dart"
>
<entry
file=
"file://$
PROJECT_DIR$/lib/ScanImagePlugn
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"135"
>
<caret
line=
"600"
column=
"12"
selection-start-line=
"600"
selection-start-column=
"12"
selection-end-line=
"600"
selection-end-column=
"12"
/>
<state
relative-caret-position=
"210"
>
<caret
line=
"64"
column=
"6"
selection-start-line=
"64"
selection-start-column=
"6"
selection-end-line=
"64"
selection-end-column=
"6"
/>
<folding>
<element
signature=
"e#45#86#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/
example/lib/AlbumModel/Anim
.dart"
>
<entry
file=
"file://$PROJECT_DIR$/
lib/gengmei_flutter_plugin
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-1390"
/>
<state
relative-caret-position=
"363"
>
<caret
line=
"34"
column=
"41"
selection-start-line=
"34"
selection-start-column=
"41"
selection-end-line=
"34"
selection-end-column=
"41"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/LiveData.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPage.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"355"
>
<caret
line=
"187"
column=
"18"
selection-start-line=
"187"
selection-start-column=
"18"
selection-end-line=
"187"
selection-end-column=
"18"
/>
<folding>
<element
signature=
"e#45#62#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$
PROJECT_DIR$/lib/SharedPlugin
.dart"
>
<entry
file=
"file://$
USER_HOME$/Downloads/flutter/packages/flutter/lib/src/widgets/scroll_view
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
330
"
>
<caret
line=
"
18"
column=
"39"
selection-start-line=
"18"
selection-start-column=
"28"
selection-end-line=
"18"
selection-end-column=
"39
"
/>
<state
relative-caret-position=
"
135
"
>
<caret
line=
"
929"
column=
"22"
selection-start-line=
"929"
selection-start-column=
"22"
selection-end-line=
"929"
selection-end-column=
"22
"
/>
</state>
</provider>
</entry>
...
...
@@ -151,8 +187,9 @@
<find>
paseAlbum
</find>
<find>
onTap
</find>
<find>
print
</find>
<find>
ontap
</find>
<find>
pop
</find>
<find>
ontap
</find>
<find>
onEv
</find>
</findStrings>
</component>
<component
name=
"Git.Settings"
>
...
...
@@ -180,14 +217,14 @@
<option
value=
"$PROJECT_DIR$/example/lib/AlbumModel/page/preview/AlbumPreviewPage.dart"
/>
<option
value=
"$PROJECT_DIR$/lib/gengmei_flutter_plugin.dart"
/>
<option
value=
"$PROJECT_DIR$/lib/ScanImagePlugn.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/main.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPage.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumModel.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/main.dart"
/>
</list>
</option>
</component>
<component
name=
"ProjectFrameBounds"
>
<option
name=
"x"
value=
"
8
"
/>
<option
name=
"x"
value=
"
30
"
/>
<option
name=
"y"
value=
"23"
/>
<option
name=
"width"
value=
"1440"
/>
<option
name=
"height"
value=
"811"
/>
...
...
@@ -226,6 +263,14 @@
<item
name=
"lib"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"AlbumModel"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"gengmei_flutter_plugin"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"example"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"lib"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"AlbumModel"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"bean"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"gengmei_flutter_plugin"
type=
"462c0819:PsiDirectoryNode"
/>
...
...
@@ -243,6 +288,15 @@
<item
name=
"page"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"album"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"gengmei_flutter_plugin"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"example"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"lib"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"AlbumModel"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"page"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"preview"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"gengmei_flutter_plugin"
type=
"462c0819:PsiDirectoryNode"
/>
...
...
@@ -256,6 +310,21 @@
<item
name=
"gengmei_flutter_plugin"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"lib"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"External Libraries"
type=
"cb654da1:ExternalLibrariesNode"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"External Libraries"
type=
"cb654da1:ExternalLibrariesNode"
/>
<item
name=
"Dart SDK"
type=
"3dd79eb:DartTreeStructureProvider$1"
/>
</path>
<path>
<item
name=
"gengmei_flutter_plugin"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"External Libraries"
type=
"cb654da1:ExternalLibrariesNode"
/>
<item
name=
"Dart SDK"
type=
"3dd79eb:DartTreeStructureProvider$1"
/>
<item
name=
"async"
type=
"e6ad2126:DartTreeStructureProvider$DartSdkOrLibraryRootNode"
/>
</path>
</expand>
<select
/>
</subPane>
...
...
@@ -306,10 +375,10 @@
<servers
/>
</component>
<component
name=
"ToolWindowManager"
>
<frame
x=
"
8
"
y=
"23"
width=
"1440"
height=
"811"
extended-state=
"0"
/>
<frame
x=
"
30
"
y=
"23"
width=
"1440"
height=
"811"
extended-state=
"0"
/>
<editor
active=
"true"
/>
<layout>
<window_info
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.19742489"
/>
<window_info
active=
"true"
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.19742489"
/>
<window_info
id=
"Captures"
order=
"1"
side_tool=
"true"
/>
<window_info
id=
"Structure"
order=
"2"
side_tool=
"true"
/>
<window_info
id=
"Image Layers"
order=
"3"
/>
...
...
@@ -319,12 +388,12 @@
<window_info
id=
"Capture Tool"
order=
"7"
/>
<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=
"Run"
order=
"1"
weight=
"0.37413073"
/>
<window_info
anchor=
"bottom"
id=
"Run"
order=
"1"
visible=
"true"
weight=
"0.37413073"
/>
<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=
"Logcat"
order=
"4"
weight=
"0.4
534075
"
/>
<window_info
anchor=
"bottom"
id=
"Logcat"
order=
"4"
weight=
"0.4
2420027
"
/>
<window_info
anchor=
"bottom"
id=
"Debug"
order=
"5"
/>
<window_info
a
ctive=
"true"
anchor=
"bottom"
id=
"Terminal"
order=
"6"
visible=
"true
"
weight=
"0.39499304"
/>
<window_info
a
nchor=
"bottom"
id=
"Terminal"
order=
"6
"
weight=
"0.39499304"
/>
<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=
"Version Control"
order=
"9"
/>
...
...
@@ -340,8 +409,6 @@
</layout>
</component>
<component
name=
"editorHistoryManager"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/Annotations/Generator/RouterCenterGenerator.dart"
/>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/AlbumRouter.dart"
/>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/AlbumRouterImpl.dart"
/>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/packages/flutter/lib/src/widgets/navigator.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
...
...
@@ -529,36 +596,6 @@
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/page/preview/AlbumPreviewPage.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"209"
>
<caret
line=
"34"
column=
"27"
selection-start-line=
"34"
selection-start-column=
"27"
selection-end-line=
"34"
selection-end-column=
"27"
/>
<folding>
<element
signature=
"e#45#62#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/gengmei_flutter_plugin.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"401"
>
<caret
line=
"34"
column=
"41"
selection-start-line=
"34"
selection-start-column=
"41"
selection-end-line=
"34"
selection-end-column=
"41"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/ScanImagePlugn.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"204"
>
<caret
line=
"54"
column=
"55"
selection-start-line=
"54"
selection-start-column=
"39"
selection-end-line=
"54"
selection-end-column=
"55"
/>
<folding>
<element
signature=
"e#45#86#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/SharedPlugin.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"330"
>
...
...
@@ -595,39 +632,83 @@
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/bin/cache/pkg/sky_engine/lib/core/double.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"135"
>
<caret
line=
"29"
column=
"22"
selection-start-line=
"29"
selection-start-column=
"22"
selection-end-line=
"29"
selection-end-column=
"22"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/main.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"242"
>
<caret
line=
"173"
column=
"47"
selection-start-line=
"173"
selection-start-column=
"47"
selection-end-line=
"173"
selection-end-column=
"47"
/>
<folding>
<element
signature=
"e#0#17#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/gengmei_flutter_plugin.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"363"
>
<caret
line=
"34"
column=
"41"
selection-start-line=
"34"
selection-start-column=
"41"
selection-end-line=
"34"
selection-end-column=
"41"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumPage.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
271
"
>
<caret
line=
"18
6"
column=
"31"
selection-start-line=
"186"
selection-start-column=
"31"
selection-end-line=
"186"
selection-end-column=
"31
"
/>
<state
relative-caret-position=
"
355
"
>
<caret
line=
"18
7"
column=
"18"
selection-start-line=
"187"
selection-start-column=
"18"
selection-end-line=
"187"
selection-end-column=
"18
"
/>
<folding>
<element
signature=
"e#45#62#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/bin/cache/dart-sdk/lib/async/zone.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"22"
>
<caret
line=
"1131"
column=
"37"
selection-start-line=
"1131"
selection-start-column=
"37"
selection-end-line=
"1131"
selection-end-column=
"37"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/ScanImagePlugn.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"210"
>
<caret
line=
"64"
column=
"6"
selection-start-line=
"64"
selection-start-column=
"6"
selection-end-line=
"64"
selection-end-column=
"6"
/>
<folding>
<element
signature=
"e#45#86#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/AlbumModel/page/album/AlbumModel.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
311
"
>
<caret
line=
"
242"
column=
"41"
selection-start-line=
"242"
selection-start-column=
"41"
selection-end-line=
"242"
selection-end-column=
"41
"
/>
<state
relative-caret-position=
"
2045
"
>
<caret
line=
"
378"
column=
"29"
selection-start-line=
"378"
selection-start-column=
"29"
selection-end-line=
"378"
selection-end-column=
"29
"
/>
<folding>
<element
signature=
"e#46#66#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
bin/cache/pkg/sky_engine/lib/core/doubl
e.dart"
>
<entry
file=
"file://$USER_HOME$/Downloads/flutter/
packages/flutter/lib/src/widgets/imag
e.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
135
"
>
<caret
line=
"
29"
column=
"22"
selection-start-line=
"29"
selection-start-column=
"22"
selection-end-line=
"29"
selection-end-column=
"22
"
/>
<state
relative-caret-position=
"
-109
"
>
<caret
line=
"
326"
column=
"8"
selection-start-line=
"326"
selection-start-column=
"8"
selection-end-line=
"326"
selection-end-column=
"8
"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/
main
.dart"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/
AlbumModel/page/preview/AlbumPreviewPage
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"2
42
"
>
<caret
line=
"
173"
column=
"47"
selection-start-line=
"173"
selection-start-column=
"47"
selection-end-line=
"173"
selection-end-column=
"47
"
/>
<state
relative-caret-position=
"2
53
"
>
<caret
line=
"
36"
column=
"30"
selection-start-line=
"36"
selection-start-column=
"30"
selection-end-line=
"36"
selection-end-column=
"30
"
/>
<folding>
<element
signature=
"e#
0#17
#0"
expanded=
"true"
/>
<element
signature=
"e#
45#62
#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
...
...
android/src/main/AndroidManifest.xml
View file @
2f543fef
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.example.gengmei_flutter_plugin"
>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<application>
<activity
android:name=
".act.VideoActivity"
/>
</application>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.MANAGE_DOCUMENTS"
/>
...
...
@@ -10,4 +13,5 @@
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
</manifest>
android/src/main/java/com/example/gengmei_flutter_plugin/GengmeiFlutterPlugin.kt
View file @
2f543fef
...
...
@@ -14,6 +14,7 @@ import android.provider.MediaStore
import
android.support.v4.content.FileProvider
import
android.util.Log
import
android.widget.Toast
import
com.example.gengmei_flutter_plugin.act.VideoActivity
import
com.example.gengmei_flutter_plugin.result.ResultManager
import
com.example.gengmei_flutter_plugin.sharedPrefernces.SharedManager
import
com.example.gengmei_flutter_plugin.utils.DebugUtil
...
...
@@ -64,6 +65,7 @@ class GengmeiFlutterPlugin : MethodCallHandler {
const
val
GET_FLOAT_SHARED
=
"GET_FLOAT_SHARED"
const
val
GET_BOOLEAN_SHARED
=
"GET_BOOLEAN_SHARED"
const
val
GET_STRINGLIST_SHARED
=
"GET_STRINGLIST_SHARED"
const
val
ALBUM_PLAY_VIDEO
=
"play_album_video"
const
val
CLEAR_SHARE
=
"CLEAR_SHARE"
const
val
PREMISSION
=
10090
...
...
@@ -238,6 +240,14 @@ class GengmeiFlutterPlugin : MethodCallHandler {
quit_page
=
true
;
ResultManager
.
getInstance
().
resultSuccess
(
resultKey
,
true
)
}
ALBUM_PLAY_VIDEO
->
{
val
path
=
call
.
arguments
as
String
?
path
?.
run
{
val
intent
=
Intent
(
resign
.
context
(),
VideoActivity
::
class
.
java
)
intent
.
putExtra
(
"PATH"
,
this
)
resign
.
activity
().
startActivity
(
intent
)
}
}
else
->
result
.
notImplemented
()
}
}
...
...
android/src/main/java/com/example/gengmei_flutter_plugin/ImagePlugin/repository/ImageRespository.kt
View file @
2f543fef
...
...
@@ -44,8 +44,8 @@ class ImageRespository {
val
fileDir
=
Environment
.
getExternalStorageDirectory
().
absolutePath
+
"/.GMAlbum/.album"
;
fun
scareImg
(
realPath
:
String
):
Observable
<
Pair
<
String
,
String
>>
{
return
Observable
.
create
(
ObservableOnSubscribe
<
Pair
<
String
,
String
>>
{
val
pair
=
Pair
<
String
,
String
>(
realPath
,
MyUtil
.
scareImg
(
realPath
,
200f
,
fileDir
+
"/"
+
getFileName
(
realPath
)
!!
+
".png"
,
75
))
return
Observable
.
create
(
ObservableOnSubscribe
<
Pair
<
String
,
String
>>
{
val
pair
=
Pair
<
String
,
String
>(
realPath
,
MyUtil
.
scareImg
(
realPath
,
200f
,
fileDir
+
"/"
+
getFileName
(
realPath
)
!!
+
".png"
,
75
))
it
.
onNext
(
pair
)
}).
subscribeOn
(
Schedulers
.
io
()).
observeOn
(
AndroidSchedulers
.
mainThread
());
}
...
...
@@ -112,13 +112,15 @@ class ImageRespository {
var
currentSize
=
0
;
var
letSize
=
10
var
noPathSize
=
0
;
recordImageListMap
.
forEach
{
val
any
=
it
[
"path"
]
if
(
it
[
"realPath"
]
==
null
)
{
return
@forEach
for
(
map
in
recordImageListMap
)
{
// recordImageListMap.forEach {
if
(
map
[
"realPath"
]
==
null
)
{
continue
}
val
realPath
=
it
[
"realPath"
]
as
String
globalThreadPool
.
execute
{
val
it
=
map
val
any
=
it
[
"path"
]
val
realPath
=
it
[
"realPath"
]
as
String
if
(
any
==
null
)
{
Log
.
e
(
"lsy"
,
" THREADMAME "
+
Thread
.
currentThread
().
name
)
val
tempFilePngString
=
fileDir
+
"/"
+
getFileName
(
realPath
)
!!
+
".png"
;
...
...
android/src/main/java/com/example/gengmei_flutter_plugin/act/VideoActivity.kt
0 → 100644
View file @
2f543fef
package
com.example.gengmei_flutter_plugin.act
import
android.os.Bundle
import
android.provider.CalendarContract
import
android.support.v7.app.AppCompatActivity
import
android.widget.LinearLayout
import
android.widget.MediaController
import
android.widget.VideoView
import
com.example.gengmei_flutter_plugin.R
import
com.example.gengmei_flutter_plugin.utils.MyUtil
/**
* @author lsy
* @date 2019-11-01
*/
class
VideoActivity
:
AppCompatActivity
()
{
lateinit
var
videoView
:
VideoView
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
setTheme
(
R
.
style
.
FLUTTERAPPTHEMEM
)
MyUtil
.
setTransparent
(
this
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
video_act
)
findViewById
<
LinearLayout
>(
R
.
id
.
main
).
setBackgroundColor
(
0
xff000000
.
toInt
());
videoView
=
findViewById
(
R
.
id
.
video
)
val
path
=
intent
.
getStringExtra
(
"PATH"
)
videoView
.
setVideoPath
(
path
);
val
mediaController
=
MediaController
(
this
);
videoView
.
setMediaController
(
mediaController
);
videoView
.
requestFocus
();
}
override
fun
onResume
()
{
super
.
onResume
()
videoView
.
start
()
}
}
\ No newline at end of file
android/src/main/java/com/example/gengmei_flutter_plugin/utils/MyUtil.kt
View file @
2f543fef
...
...
@@ -12,6 +12,14 @@ import java.io.FileNotFoundException
import
java.io.FileOutputStream
import
java.io.IOException
import
java.lang.Exception
import
android.view.ViewGroup
import
android.support.v4.view.ViewCompat.setFitsSystemWindows
import
android.app.Activity
import
android.view.WindowManager
import
android.os.Build
import
android.annotation.TargetApi
import
android.graphics.Color
import
android.view.View
/**
...
...
@@ -126,6 +134,54 @@ class MyUtil {
}
return
filePath
}
/**
* 设置状态栏全透明
*
* @param activity 需要设置的activity
*/
fun
setTransparent
(
activity
:
Activity
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
}
transparentStatusBar
(
activity
)
setRootView
(
activity
)
}
/**
* 使状态栏透明
*/
@TargetApi
(
Build
.
VERSION_CODES
.
KITKAT
)
private
fun
transparentStatusBar
(
activity
:
Activity
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
)
activity
.
window
.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
//需要设置这个flag contentView才能延伸到状态栏
activity
.
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_NAVIGATION
)
//状态栏覆盖在contentView上面,设置透明使contentView的背景透出来
activity
.
window
.
statusBarColor
=
Color
.
TRANSPARENT
}
else
{
//让contentView延伸到状态栏并且设置状态栏颜色透明
activity
.
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
}
}
/**
* 设置根布局参数
*/
private
fun
setRootView
(
activity
:
Activity
)
{
val
parent
=
activity
.
findViewById
<
View
>(
android
.
R
.
id
.
content
)
as
ViewGroup
var
i
=
0
val
count
=
parent
.
childCount
while
(
i
<
count
)
{
val
childView
=
parent
.
getChildAt
(
i
)
if
(
childView
is
ViewGroup
)
{
childView
.
setFitsSystemWindows
(
true
)
childView
.
clipToPadding
=
true
}
i
++
}
}
}
...
...
android/src/main/res/layout/video_act.xml
0 → 100644
View file @
2f543fef
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:id=
"@+id/main"
>
<View
android:layout_width=
"1sp"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
<VideoView
android:id=
"@+id/video"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<View
android:layout_width=
"1sp"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
</LinearLayout>
\ No newline at end of file
android/src/main/res/values/styles.xml
0 → 100644
View file @
2f543fef
<resources>
<!-- Base application theme. -->
<style
name=
"FLUTTERAPPTHEMEM"
parent=
"Theme.AppCompat.Light.NoActionBar"
>
<!-- Customize your theme here. -->
</style>
</resources>
example/lib/AlbumModel/page/album/AlbumModel.dart
View file @
2f543fef
...
...
@@ -30,9 +30,11 @@ Map<String, List<ScanImageItem>> paseAlbum(Object event) {
list
.
forEach
((
listMap
)
{
var
map2
=
Map
<
String
,
dynamic
>.
from
(
listMap
);
ScanImageItem
item
=
new
ScanImageItem
();
item
.
path
=
map2
[
"path"
];
item
.
path
=
map2
[
"path"
]
??
""
;
item
.
realPath
=
map2
[
"realPath"
]
??
""
;
item
.
isVideo
=
map2
[
"isVideo"
]
==
"T"
?
true
:
false
;
item
.
during
=
map2
[
"during"
]
??
"0"
;
item
.
size
=
map2
[
"size"
]
??
0
;
scanList
.
add
(
item
);
});
newMap
[
k
]
=
scanList
;
...
...
@@ -96,10 +98,32 @@ class AlbumModel {
// }
// });
// }
compute
(
paseAlbum
,
event
).
then
((
value
)
{
_mainValue
=
value
;
albumLive
.
notifyView
(
_mainValue
[
_nowDirName
]);
});
// if (Platform.isAndroid) {
// var map = (event as Map);
// //Map<String, List<ScanImageItem>>
// if (_mainValue == null || _mainValue.length == 0) {
// _mainValue = map;
// } else {
// _mainValue.forEach((k, itemList) {
// var key = map[k];
// if (key != null) {
// for (int i = 0; i < itemList.length; i++) {
// if (key[i] == null) {
// continue;
// }
// itemList[i].path = key[i]["path"];
// itemList[i].realPath = key[i]["realPath"];
// }
// }
// });
// }
// albumLive.notifyView(_mainValue[_nowDirName]);
// } else {
compute
(
paseAlbum
,
event
).
then
((
value
)
{
_mainValue
=
value
;
albumLive
.
notifyView
(
_mainValue
[
_nowDirName
]);
});
// }
// _mainValue=newMap;
// var list = map[_nowDirName];
...
...
@@ -351,8 +375,11 @@ class AlbumModel {
String
path
;
if
(
Platform
.
isAndroid
)
{
path
=
albumLive
.
data
[
index
].
realPath
;
Navigator
.
push
(
context
,
CustomRoute
(
AlbumPreviewPage
(
path
,
pageName
)));
if
(
albumLive
.
data
[
index
].
isVideo
)
{
GengmeiFlutterPlugin
.
playAlbumVideo
(
path
);
}
else
{
Navigator
.
push
(
context
,
CustomRoute
(
AlbumPreviewPage
(
path
,
pageName
)));
}
}
else
{
path
=
albumLive
.
data
[
index
].
path
;
if
(
albumLive
.
data
[
index
].
isVideo
)
{
...
...
example/lib/AlbumModel/page/album/AlbumPage.dart
View file @
2f543fef
...
...
@@ -183,8 +183,8 @@ class AlbumState extends State<AlbumPage> {
}
return
GestureDetector
(
onTap:
(){
//
_model.previewItem(context, newIndex, "pageName");
_model
.
clickItem
(
context
,
newIndex
);
_model
.
previewItem
(
context
,
newIndex
,
"pageName"
);
//
_model.clickItem(context, newIndex);
},
child:
Container
(
decoration:
BoxDecoration
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment