Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
Flutter Inappwebview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李增强
Flutter Inappwebview
Commits
3dd7d175
Commit
3dd7d175
authored
5 years ago
by
Lorenzo Pichilli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed Android InAppBrowserActivity crash
parent
cab5338f
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
147 additions
and
322 deletions
+147
-322
.idea/workspace.xml
.idea/workspace.xml
+94
-56
android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserActivity.java
...llilorenzo/flutter_inappbrowser/InAppBrowserActivity.java
+1
-0
android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserFlutterPlugin.java
...renzo/flutter_inappbrowser/InAppBrowserFlutterPlugin.java
+0
-1
example/assets/index.html
example/assets/index.html
+2
-108
example/ios/Flutter/flutter_export_environment.sh
example/ios/Flutter/flutter_export_environment.sh
+2
-1
example/lib/chrome_safari_browser_example.screen.dart
example/lib/chrome_safari_browser_example.screen.dart
+5
-36
example/lib/in_app_browser_example.screen.dart
example/lib/in_app_browser_example.screen.dart
+6
-74
example/lib/in_app_webiew_example.screen.dart
example/lib/in_app_webiew_example.screen.dart
+3
-41
example/lib/main.dart
example/lib/main.dart
+34
-5
No files found.
.idea/workspace.xml
View file @
3dd7d175
...
...
@@ -16,12 +16,14 @@
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"9b41f7a2-a71e-4923-91fb-249d7815b3e7"
name=
"Default"
comment=
""
>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/FlutterWebView.java"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/FlutterWebView.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/FlutterWebViewFactory.java"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/FlutterWebViewFactory.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppWebView/InAppWebView.java"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppWebView/InAppWebView.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserActivity.java"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserActivity.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserFlutterPlugin.java"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserFlutterPlugin.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/assets/index.html"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/assets/index.html"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/ios/Flutter/flutter_export_environment.sh"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/ios/Flutter/flutter_export_environment.sh"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/test.dart"
beforeDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/lib/src/in_app_webview.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/lib/src/in_app_webview.dart"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/example/lib/main.dart"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/example/lib/main.dart"
afterDir=
"false"
/>
</list>
<ignored
path=
"$PROJECT_DIR$/.dart_tool/"
/>
<ignored
path=
"$PROJECT_DIR$/.idea/"
/>
...
...
@@ -56,8 +58,20 @@
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"932"
>
<caret
line=
"111"
column=
"39"
lean-forward=
"true"
selection-start-line=
"111"
selection-start-column=
"39"
selection-end-line=
"111"
selection-end-column=
"39"
/>
<state
relative-caret-position=
"219"
>
<caret
line=
"33"
column=
"24"
selection-start-line=
"33"
selection-start-column=
"24"
selection-end-line=
"33"
selection-end-column=
"24"
/>
<folding>
<element
signature=
"e#0#39#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"195"
>
<caret
line=
"13"
column=
"11"
selection-start-line=
"13"
selection-start-column=
"11"
selection-end-line=
"13"
selection-end-column=
"11"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
...
...
@@ -65,11 +79,23 @@
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"345"
>
<caret
line=
"23"
selection-start-line=
"23"
selection-end-line=
"23"
/>
<folding>
<element
signature=
"e#0#39#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/example/
pubspec.ya
ml"
>
<entry
file=
"file://$PROJECT_DIR$/example/
assets/index.ht
ml"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
33
0"
>
<caret
line=
"
22"
column=
"23"
lean-forward=
"true"
selection-start-line=
"22"
selection-start-column=
"23"
selection-end-line=
"22"
selection-end-column=
"23
"
/>
<state
relative-caret-position=
"
18
0"
>
<caret
line=
"
12"
column=
"26"
selection-start-line=
"12"
selection-start-column=
"26"
selection-end-line=
"12"
selection-end-column=
"26
"
/>
</state>
</provider>
</entry>
...
...
@@ -77,8 +103,8 @@
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/example/lib/main.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1
8
0"
>
<caret
line=
"1
2"
column=
"3"
selection-start-line=
"12"
selection-start-column=
"3"
selection-end-line=
"12"
selection-end-column=
"3
"
/>
<state
relative-caret-position=
"1
3
0"
>
<caret
line=
"1
6"
column=
"15"
selection-start-line=
"16"
selection-start-column=
"7"
selection-end-line=
"16"
selection-end-column=
"15
"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
...
...
@@ -146,11 +172,8 @@
<option
name=
"CHANGED_PATHS"
>
<list>
<option
value=
"$PROJECT_DIR$/example/test_assets/in_app_webview_on_target_blank_test.html"
/>
<option
value=
"$PROJECT_DIR$/example/assets/index.html"
/>
<option
value=
"$PROJECT_DIR$/CHANGELOG.md"
/>
<option
value=
"$PROJECT_DIR$/lib/src/in_app_browser.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart"
/>
<option
value=
"$PROJECT_DIR$/tool/env.dart"
/>
<option
value=
"$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.js"
/>
<option
value=
"$PROJECT_DIR$/example/test_assets/in_app_webview_on_navigation_change_test.html"
/>
...
...
@@ -193,9 +216,12 @@
<option
value=
"$PROJECT_DIR$/example/test_driver/in_app_webview_http_auth_credential_database_test.dart"
/>
<option
value=
"$PROJECT_DIR$/example/test_driver/in_app_webview_on_load_http_error_test.dart"
/>
<option
value=
"$PROJECT_DIR$/lib/src/in_app_webview.dart"
/>
<option
value=
"$PROJECT_DIR$/example/pubspec.yaml"
/>
<option
value=
"$PROJECT_DIR$/example/lib/main.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart"
/>
<option
value=
"$PROJECT_DIR$/example/pubspec.yaml"
/>
<option
value=
"$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
/>
<option
value=
"$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart"
/>
<option
value=
"$PROJECT_DIR$/example/assets/index.html"
/>
</list>
</option>
</component>
...
...
@@ -262,6 +288,12 @@
<item
name=
"flutter_inappbrowser"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"example"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"flutter_inappbrowser"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"flutter_inappbrowser"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"example"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"assets"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"flutter_inappbrowser"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"flutter_inappbrowser"
type=
"462c0819:PsiDirectoryNode"
/>
...
...
@@ -443,7 +475,7 @@
<frame
x=
"0"
y=
"23"
width=
"1920"
height=
"1057"
extended-state=
"0"
/>
<editor
active=
"true"
/>
<layout>
<window_info
content_ui=
"combo"
id=
"Project"
order=
"0"
sideWeight=
"0.6177474"
visible=
"true"
weight=
"0.20766774"
/>
<window_info
active=
"true"
content_ui=
"combo"
id=
"Project"
order=
"0"
sideWeight=
"0.6177474"
visible=
"true"
weight=
"0.20766774"
/>
<window_info
id=
"Structure"
order=
"1"
sideWeight=
"0.38225257"
side_tool=
"true"
weight=
"0.2087327"
/>
<window_info
id=
"Designer"
order=
"2"
/>
<window_info
id=
"Build Variants"
order=
"3"
side_tool=
"true"
/>
...
...
@@ -454,7 +486,7 @@
<window_info
id=
"Resources Explorer"
order=
"8"
/>
<window_info
anchor=
"bottom"
id=
"Message"
order=
"0"
/>
<window_info
anchor=
"bottom"
id=
"Find"
order=
"1"
weight=
"0.32745314"
/>
<window_info
anchor=
"bottom"
id=
"Run"
order=
"2"
sideWeight=
"0.49478307"
weight=
"0.4580311"
/>
<window_info
anchor=
"bottom"
id=
"Run"
order=
"2"
sideWeight=
"0.49478307"
visible=
"true"
weight=
"0.4580311"
/>
<window_info
anchor=
"bottom"
id=
"Debug"
order=
"3"
weight=
"0.34196892"
/>
<window_info
anchor=
"bottom"
id=
"Cvs"
order=
"4"
weight=
"0.25"
/>
<window_info
anchor=
"bottom"
id=
"Inspection"
order=
"5"
weight=
"0.4"
/>
...
...
@@ -462,7 +494,7 @@
<window_info
anchor=
"bottom"
id=
"Android Profiler"
order=
"7"
show_stripe_button=
"false"
/>
<window_info
anchor=
"bottom"
id=
"Event Log"
order=
"8"
sideWeight=
"0.50532484"
side_tool=
"true"
weight=
"0.35751295"
/>
<window_info
anchor=
"bottom"
id=
"Version Control"
order=
"9"
/>
<window_info
a
ctive=
"true"
anchor=
"bottom"
id=
"Terminal"
order=
"10"
sideWeight=
"0.4946752"
visible=
"true
"
weight=
"0.38860103"
/>
<window_info
a
nchor=
"bottom"
id=
"Terminal"
order=
"10"
sideWeight=
"0.4946752
"
weight=
"0.38860103"
/>
<window_info
anchor=
"bottom"
id=
"Logcat"
order=
"11"
weight=
"0.32953367"
/>
<window_info
anchor=
"bottom"
id=
"Messages"
order=
"12"
sideWeight=
"0.4968051"
weight=
"0.33782384"
/>
<window_info
anchor=
"bottom"
id=
"Dependency Viewer"
order=
"13"
weight=
"0.32800853"
/>
...
...
@@ -492,27 +524,6 @@
</ignored-roots>
</component>
<component
name=
"editorHistoryManager"
>
<entry
file=
"file://$PROJECT_DIR$/example/test_assets/in_app_webview_javascript_handler_test.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"90"
>
<caret
line=
"6"
column=
"56"
lean-forward=
"true"
selection-start-line=
"6"
selection-start-column=
"56"
selection-end-line=
"6"
selection-end-column=
"56"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/test_assets/in_app_webview_initial_file_test.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"385"
>
<caret
line=
"26"
column=
"69"
selection-start-line=
"26"
selection-start-column=
"42"
selection-end-line=
"26"
selection-end-column=
"69"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/test_assets/in_app_webview_on_navigation_state_change_test.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"315"
>
<caret
line=
"21"
column=
"24"
lean-forward=
"true"
selection-start-line=
"13"
selection-start-column=
"16"
selection-end-line=
"21"
selection-end-column=
"24"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/pubspec.yaml"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
...
...
@@ -886,28 +897,35 @@
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
lib/src/in_app_webview
.dart"
>
<entry
file=
"file://$PROJECT_DIR$/
example/lib/test
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"7854"
>
<caret
line=
"1362"
column=
"38"
selection-start-line=
"1362"
selection-start-column=
"38"
selection-end-line=
"1362"
selection-end-column=
"38"
/>
<state
relative-caret-position=
"-5596"
>
<folding>
<element
signature=
"e#0#1
7
#0"
expanded=
"true"
/>
<element
signature=
"e#0#1
6431
#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
example/lib/test
.dart"
>
<entry
file=
"file://$PROJECT_DIR$/
lib/src/in_app_localhost_server
.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-
5596
"
>
<state
relative-caret-position=
"-
845
"
>
<folding>
<element
signature=
"e#0#1
6431
#0"
expanded=
"true"
/>
<element
signature=
"e#0#1
7
#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
lib/src/in_app_localhost_server.dart
"
>
<entry
file=
"file://$PROJECT_DIR$/
example/pubspec.yaml
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-845"
>
<state
relative-caret-position=
"330"
>
<caret
line=
"22"
column=
"23"
selection-start-line=
"22"
selection-start-column=
"23"
selection-end-line=
"22"
selection-end-column=
"23"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/lib/src/in_app_webview.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"7854"
>
<caret
line=
"1362"
column=
"38"
selection-start-line=
"1362"
selection-start-column=
"38"
selection-end-line=
"1362"
selection-end-column=
"38"
/>
<folding>
<element
signature=
"e#0#17#0"
expanded=
"true"
/>
</folding>
...
...
@@ -916,8 +934,8 @@
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/main.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1
8
0"
>
<caret
line=
"1
2"
column=
"3"
selection-start-line=
"12"
selection-start-column=
"3"
selection-end-line=
"12"
selection-end-column=
"3
"
/>
<state
relative-caret-position=
"1
3
0"
>
<caret
line=
"1
6"
column=
"15"
selection-start-line=
"16"
selection-start-column=
"7"
selection-end-line=
"16"
selection-end-column=
"15
"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
...
...
@@ -926,18 +944,38 @@
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"932"
>
<caret
line=
"111"
column=
"39"
lean-forward=
"true"
selection-start-line=
"111"
selection-start-column=
"39"
selection-end-line=
"111"
selection-end-column=
"39"
/>
<state
relative-caret-position=
"219"
>
<caret
line=
"33"
column=
"24"
selection-start-line=
"33"
selection-start-column=
"24"
selection-end-line=
"33"
selection-end-column=
"24"
/>
<folding>
<element
signature=
"e#0#39#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"195"
>
<caret
line=
"13"
column=
"11"
selection-start-line=
"13"
selection-start-column=
"11"
selection-end-line=
"13"
selection-end-column=
"11"
/>
<folding>
<element
signature=
"e#0#20#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/
pubspec.yaml
"
>
<entry
file=
"file://$PROJECT_DIR$/example/
lib/chrome_safari_browser_example.screen.dart
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"330"
>
<caret
line=
"22"
column=
"23"
lean-forward=
"true"
selection-start-line=
"22"
selection-start-column=
"23"
selection-end-line=
"22"
selection-end-column=
"23"
/>
<state
relative-caret-position=
"345"
>
<caret
line=
"23"
selection-start-line=
"23"
selection-end-line=
"23"
/>
<folding>
<element
signature=
"e#0#39#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/example/assets/index.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"180"
>
<caret
line=
"12"
column=
"26"
selection-start-line=
"12"
selection-start-column=
"26"
selection-end-line=
"12"
selection-end-column=
"26"
/>
</state>
</provider>
</entry>
...
...
This diff is collapsed.
Click to expand it.
android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserActivity.java
View file @
3dd7d175
...
...
@@ -56,6 +56,7 @@ public class InAppBrowserActivity extends AppCompatActivity {
webView
=
findViewById
(
R
.
id
.
webView
);
webView
.
inAppBrowserActivity
=
this
;
webView
.
registrar
=
InAppBrowserFlutterPlugin
.
inAppBrowser
.
registrar
;
Bundle
b
=
getIntent
().
getExtras
();
uuid
=
b
.
getString
(
"uuid"
);
...
...
This diff is collapsed.
Click to expand it.
android/src/main/java/com/pichillilorenzo/flutter_inappbrowser/InAppBrowserFlutterPlugin.java
View file @
3dd7d175
...
...
@@ -19,7 +19,6 @@ public class InAppBrowserFlutterPlugin implements FlutterPlugin {
public
static
CredentialDatabaseHandler
credentialDatabaseHandler
;
public
static
ValueCallback
<
Uri
[]>
uploadMessageArray
;
public
InAppBrowserFlutterPlugin
()
{}
public
static
void
registerWith
(
PluginRegistry
.
Registrar
registrar
)
{
...
...
This diff is collapsed.
Click to expand it.
example/assets/index.html
View file @
3dd7d175
...
...
@@ -5,7 +5,7 @@
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<title>
Flutter InAppBrowser
</title>
<link
rel=
"stylesheet"
href=
"http://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
href=
"http
s
://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
href=
"css/style.css"
>
<script
src=
"https://code.jquery.com/jquery-3.3.1.min.js"
></script>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
>
...
...
@@ -25,27 +25,10 @@
<main
role=
"main"
class=
"inner cover"
>
<h1
class=
"cover-heading"
>
Inline WebView
</h1>
<img
src=
"
my-special-custom-scheme://
images/flutter-logo.svg"
alt=
"flutter logo"
>
<img
src=
"images/flutter-logo.svg"
alt=
"flutter logo"
>
<p
class=
"lead"
>
Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.
</p>
<select
name=
""
id=
""
>
<option
value=
"1"
>
option 1
</option>
<option
value=
"2"
>
option 2
</option>
</select>
<input
type=
"file"
>
<input
type=
"file"
accept=
"image/*"
capture
>
<button
onclick=
"testHistoryPush1()"
>
History Push 1
</button>
<button
onclick=
"testHistoryPush2()"
>
History Push 2
</button>
<button
onclick=
"testLocationHref()"
>
Location Href
</button>
<p>
<img
src=
"https://via.placeholder.com/100x50"
alt=
"placeholder 100x50"
>
</p>
</main>
<!--<form method="POST" action="http://192.168.1.20:8082/test-post">
<input type="text" name="name" placeholder="name" value="Lorenzo">
<input type="submit" value="SEND">
</form>-->
<footer
class=
"mastfoot mt-auto"
>
<div
class=
"inner"
>
<p>
Cover template for
<a
target=
"_blank"
href=
"https://getbootstrap.com/"
>
Bootstrap
</a>
, by
<a
href=
"https://twitter.com/mdo"
>
@mdo
</a>
.
</p>
...
...
@@ -54,94 +37,5 @@
</div>
</footer>
</div>
<script>
var
state
=
{
'
page_id
'
:
1
,
'
user_id
'
:
5
};
function
testHistoryPush1
()
{
var
randomNumber
=
100
*
Math
.
random
();
var
title
=
'
Hello World
'
+
randomNumber
;
var
url
=
'
hello-foo-
'
+
randomNumber
+
'
.html
'
;
history
.
pushState
(
state
,
title
,
url
);
}
function
testHistoryPush2
()
{
var
randomNumber
=
100
*
Math
.
random
();
var
title
=
'
Hello World
'
+
randomNumber
;
var
url
=
'
hello-bar-
'
+
randomNumber
+
'
.html
'
;
history
.
replaceState
(
state
,
title
,
url
);
}
function
testLocationHref
()
{
var
randomNumber
=
100
*
Math
.
random
();
window
.
location
=
"
#foo-
"
+
randomNumber
;
}
window
.
addEventListener
(
"
flutterInAppBrowserPlatformReady
"
,
function
(
event
)
{
window
.
flutter_inappbrowser
.
callHandler
(
'
handlerFoo
'
).
then
(
function
(
result
)
{
console
.
log
(
result
,
typeof
result
);
console
.
log
(
JSON
.
stringify
(
result
),
result
.
bar
);
});
window
.
flutter_inappbrowser
.
callHandler
(
'
handlerFooWithArgs
'
,
1
,
true
,
[
'
bar
'
,
5
],
{
foo
:
'
baz
'
}).
then
(
function
(
result
)
{
console
.
log
(
result
,
typeof
result
);
console
.
log
(
JSON
.
stringify
(
result
));
});
});
$
(
document
).
ready
(
function
()
{
console
.
log
(
"
jQuery ready
"
);
var
xhttp
=
new
XMLHttpRequest
();
xhttp
.
addEventListener
(
"
load
"
,
function
()
{
console
.
log
(
this
.
response
);
});
xhttp
.
open
(
"
POST
"
,
"
http://192.168.1.20:8082/test-ajax-post
"
);
xhttp
.
setRequestHeader
(
"
Content-type
"
,
"
application/x-www-form-urlencoded
"
);
xhttp
.
send
(
"
name=Lorenzo
"
);
var
xhttp2
=
new
XMLHttpRequest
();
xhttp2
.
open
(
"
GET
"
,
"
http://192.168.1.20:8082/test-download-file
"
);
xhttp2
.
send
();
fetch
(
new
Request
(
"
http://192.168.1.20:8082/test-download-file
"
)).
then
(
function
(
response
)
{
console
.
log
(
response
);
}).
catch
(
function
(
error
)
{
console
.
error
(
"
ERROR:
"
+
error
);
});
fetch
(
"
http://192.168.1.20:8082/test-ajax-post
"
,
{
method
:
'
POST
'
,
body
:
JSON
.
stringify
({
name
:
'
Lorenzo Fetch API
'
}),
headers
:
{
'
Content-Type
'
:
'
application/json
'
}
}).
then
(
function
(
response
)
{
console
.
log
(
response
);
}).
catch
(
function
(
error
)
{
console
.
error
(
"
ERROR:
"
+
error
);
});
/*
alert("Alert Popup");
console.log(confirm("Press a button!"));
console.log(prompt("Please enter your name", "Lorenzo"));
*/
/*
if ("geolocation" in navigator) {
console.log("Geolocation API enabled");
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position.coords.latitude, position.coords.longitude);
});
} else {
console.log("No geolocation API");
}
*/
});
</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
example/ios/Flutter/flutter_export_environment.sh
View file @
3dd7d175
...
...
@@ -2,9 +2,10 @@
# This is a generated file; do not edit or check into version control.
export
"FLUTTER_ROOT=/Users/lorenzopichilli/flutter"
export
"FLUTTER_APPLICATION_PATH=/Users/lorenzopichilli/Desktop/flutter_inappbrowser/example"
export
"FLUTTER_TARGET=/Users/lorenzopichilli/Desktop/flutter_inappbrowser/example/
test_driver/app
.dart"
export
"FLUTTER_TARGET=/Users/lorenzopichilli/Desktop/flutter_inappbrowser/example/
lib/main
.dart"
export
"FLUTTER_BUILD_DIR=build"
export
"SYMROOT=
${
SOURCE_ROOT
}
/../build/ios"
export
"FLUTTER_FRAMEWORK_DIR=/Users/lorenzopichilli/flutter/bin/cache/artifacts/engine/ios"
export
"FLUTTER_BUILD_NAME=1.0.0"
export
"FLUTTER_BUILD_NUMBER=1"
export
"TRACK_WIDGET_CREATION=true"
This diff is collapsed.
Click to expand it.
example/lib/chrome_safari_browser_example.screen.dart
View file @
3dd7d175
import
'package:flutter/material.dart'
;
import
'package:flutter_inappbrowser/flutter_inappbrowser.dart'
;
import
'main.dart'
;
class
MyChromeSafariBrowser
extends
ChromeSafariBrowser
{
MyChromeSafariBrowser
(
browserFallback
)
:
super
(
bFallback:
browserFallback
);
...
...
@@ -43,48 +45,15 @@ class _ChromeSafariBrowserExampleScreenState
title:
Text
(
"ChromeSafariBrowser"
,
)),
drawer:
Drawer
(
child:
ListView
(
padding:
EdgeInsets
.
zero
,
children:
<
Widget
>[
DrawerHeader
(
child:
Text
(
'flutter_inappbrowser example'
),
decoration:
BoxDecoration
(
color:
Colors
.
blue
,
),
),
ListTile
(
title:
Text
(
'InAppBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/InAppBrowser'
);
},
),
ListTile
(
title:
Text
(
'ChromeSafariBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/ChromeSafariBrowser'
);
},
),
ListTile
(
title:
Text
(
'InAppWebView'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/'
);
},
),
],
),
),
drawer:
myDrawer
(
context:
context
),
body:
Center
(
child:
RaisedButton
(
onPressed:
()
async
{
await
widget
.
browser
.
open
(
url:
"https://flutter.dev/"
,
options:
ChromeSafariBrowserClassOptions
(
androidChromeCustomTabsOptions:
AndroidChromeCustomTabsOptions
(
addShareButton:
false
),
iosSafariOptions:
IosSafariOptions
(
barCollapsingEnabled:
true
)));
androidChromeCustomTabsOptions:
AndroidChromeCustomTabsOptions
(
addShareButton:
false
),
iosSafariOptions:
IosSafariOptions
(
barCollapsingEnabled:
true
)));
},
child:
Text
(
"Open Chrome Safari Browser"
)),
));
...
...
This diff is collapsed.
Click to expand it.
example/lib/in_app_browser_example.screen.dart
View file @
3dd7d175
...
...
@@ -3,10 +3,12 @@ import 'dart:async';
import
'package:flutter/material.dart'
;
import
'package:flutter_inappbrowser/flutter_inappbrowser.dart'
;
import
'main.dart'
;
class
MyInAppBrowser
extends
InAppBrowser
{
@override
Future
onBrowserCreated
()
async
{
print
(
"
\n\n
Browser
Ready
!
\n\n
"
);
print
(
"
\n\n
Browser
Created
!
\n\n
"
);
}
@override
...
...
@@ -19,11 +21,6 @@ class MyInAppBrowser extends InAppBrowser {
print
(
"
\n\n
Stopped
$url
\n\n
"
);
}
@override
Future
onScrollChanged
(
int
x
,
int
y
)
async
{
print
(
"Scrolled: x:
$x
y:
$y
"
);
}
@override
void
onLoadError
(
String
url
,
int
code
,
String
message
)
{
print
(
"Can't load
$url
.. Error:
$message
"
);
...
...
@@ -63,40 +60,6 @@ class MyInAppBrowser extends InAppBrowser {
messageLevel:
${consoleMessage.messageLevel.toValue()}
"""
);
}
@override
void
onDownloadStart
(
String
url
)
{
print
(
"Download of "
+
url
);
}
@override
Future
<
CustomSchemeResponse
>
onLoadResourceCustomScheme
(
String
scheme
,
String
url
)
async
{
print
(
"custom scheme: "
+
scheme
);
return
null
;
}
@override
Future
<
GeolocationPermissionShowPromptResponse
>
onGeolocationPermissionsShowPrompt
(
String
origin
)
async
{
print
(
"request Geolocation permission API"
);
return
null
;
}
@override
Future
<
JsAlertResponse
>
onJsAlert
(
String
message
)
async
{
return
new
JsAlertResponse
(
handledByClient:
false
,
message:
"coma iam"
);
}
@override
Future
<
JsConfirmResponse
>
onJsConfirm
(
String
message
)
{
return
null
;
}
@override
Future
<
JsPromptResponse
>
onJsPrompt
(
String
message
,
String
defaultValue
)
{
return
null
;
}
}
class
InAppBrowserExampleScreen
extends
StatefulWidget
{
...
...
@@ -120,48 +83,17 @@ class _InAppBrowserExampleScreenState extends State<InAppBrowserExampleScreen> {
title:
Text
(
"InAppBrowser"
,
)),
drawer:
Drawer
(
child:
ListView
(
padding:
EdgeInsets
.
zero
,
children:
<
Widget
>[
DrawerHeader
(
child:
Text
(
'flutter_inappbrowser example'
),
decoration:
BoxDecoration
(
color:
Colors
.
blue
,
),
),
ListTile
(
title:
Text
(
'InAppBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/InAppBrowser'
);
},
),
ListTile
(
title:
Text
(
'ChromeSafariBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/ChromeSafariBrowser'
);
},
),
ListTile
(
title:
Text
(
'InAppWebView'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/'
);
},
),
],
),
),
drawer:
myDrawer
(
context:
context
),
body:
Center
(
child:
RaisedButton
(
onPressed:
()
{
widget
.
browser
.
openFile
(
assetFilePath:
"assets/index.html"
,
//url: "https://www.google.com/",
options:
InAppBrowserClassOptions
(
inAppWebViewWidgetOptions:
InAppWebViewWidgetOptions
(
inAppWebViewOptions:
InAppWebViewOptions
(
useShouldOverrideUrlLoading:
true
,
useOnLoadResource:
true
,
useShouldOverrideUrlLoading:
true
,
useOnLoadResource:
true
,
))));
},
child:
Text
(
"Open Webview Browser"
)),
...
...
This diff is collapsed.
Click to expand it.
example/lib/in_app_webiew_example.screen.dart
View file @
3dd7d175
import
'dart:async'
;
import
'dart:convert'
;
import
'dart:io'
;
import
'dart:typed_data'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
import
'package:flutter_inappbrowser/flutter_inappbrowser.dart'
;
import
'package:flutter_downloader/flutter_downloader.dart'
;
import
'package:path_provider/path_provider.dart'
;
import
'package:flutter/services.dart'
show
rootBundle
;
import
'main.dart'
;
class
InAppWebViewExampleScreen
extends
StatefulWidget
{
@override
...
...
@@ -20,7 +13,6 @@ class _InAppWebViewExampleScreenState extends State<InAppWebViewExampleScreen> {
InAppWebViewController
webView
;
String
url
=
""
;
double
progress
=
0
;
CookieManager
cookieManager
=
CookieManager
.
instance
();
TextEditingController
_textFieldController
=
TextEditingController
();
...
...
@@ -42,37 +34,7 @@ class _InAppWebViewExampleScreenState extends State<InAppWebViewExampleScreen> {
title:
Text
(
"InAppWebView"
,
)),
drawer:
Drawer
(
child:
ListView
(
padding:
EdgeInsets
.
zero
,
children:
<
Widget
>[
DrawerHeader
(
child:
Text
(
'flutter_inappbrowser example'
),
decoration:
BoxDecoration
(
color:
Colors
.
blue
,
),
),
ListTile
(
title:
Text
(
'InAppBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/InAppBrowser'
);
},
),
ListTile
(
title:
Text
(
'ChromeSafariBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/ChromeSafariBrowser'
);
},
),
ListTile
(
title:
Text
(
'InAppWebView'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/'
);
},
),
],
),
),
drawer:
myDrawer
(
context:
context
),
body:
Container
(
child:
Column
(
children:
<
Widget
>[
Container
(
...
...
This diff is collapsed.
Click to expand it.
example/lib/main.dart
View file @
3dd7d175
...
...
@@ -7,18 +7,47 @@ import 'package:flutter_inappbrowser_example/chrome_safari_browser_example.scree
import
'package:flutter_inappbrowser_example/in_app_webiew_example.screen.dart'
;
import
'package:flutter_inappbrowser_example/in_app_browser_example.screen.dart'
;
import
'package:flutter_downloader/flutter_downloader.dart'
;
import
'package:permission_handler/permission_handler.dart'
;
// InAppLocalhostServer localhostServer = new InAppLocalhostServer();
Future
main
(
)
async
{
// await localhostServer.start();
// await FlutterDownloader.initialize();
await
PermissionHandler
().
requestPermissions
([
PermissionGroup
.
locationAlways
]);
runApp
(
new
MyApp
());
}
Drawer
myDrawer
(
{
@required
BuildContext
context
})
{
return
Drawer
(
child:
ListView
(
padding:
EdgeInsets
.
zero
,
children:
<
Widget
>[
DrawerHeader
(
child:
Text
(
'flutter_inappbrowser example'
),
decoration:
BoxDecoration
(
color:
Colors
.
blue
,
),
),
ListTile
(
title:
Text
(
'InAppBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/InAppBrowser'
);
},
),
ListTile
(
title:
Text
(
'ChromeSafariBrowser'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/ChromeSafariBrowser'
);
},
),
ListTile
(
title:
Text
(
'InAppWebView'
),
onTap:
()
{
Navigator
.
pushReplacementNamed
(
context
,
'/'
);
},
),
],
),
);
}
class
MyApp
extends
StatefulWidget
{
@override
_MyAppState
createState
()
=>
new
_MyAppState
();
...
...
This diff is collapsed.
Click to expand it.
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