Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Mullvad Browser
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
The Tor Project
Applications
Mullvad Browser
Commits
b99df6b6
Commit
b99df6b6
authored
10 years ago
by
Ryan VanderMeulen
Browse files
Options
Downloads
Plain Diff
Merge m-c to fx-team. a=merge
parents
0e25010b
b3912c5b
Loading
Loading
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
mobile/android/base/toolbar/BrowserToolbarTabletBase.java
+28
-83
28 additions, 83 deletions
mobile/android/base/toolbar/BrowserToolbarTabletBase.java
with
28 additions
and
83 deletions
mobile/android/base/toolbar/BrowserToolbarTabletBase.java
+
28
−
83
View file @
b99df6b6
...
...
@@ -10,7 +10,6 @@ import java.util.Arrays;
import
org.mozilla.gecko.R
;
import
org.mozilla.gecko.Tab
;
import
org.mozilla.gecko.Tabs
;
import
org.mozilla.gecko.Tabs.TabEvents
;
import
org.mozilla.gecko.animation.PropertyAnimator
;
import
org.mozilla.gecko.animation.ViewHelper
;
...
...
@@ -20,6 +19,7 @@ import android.util.AttributeSet;
import
android.view.View
;
import
android.view.animation.AccelerateInterpolator
;
import
android.view.animation.Interpolator
;
import
android.widget.Button
;
import
android.widget.ImageButton
;
import
android.widget.LinearLayout
;
...
...
@@ -37,12 +37,7 @@ abstract class BrowserToolbarTabletBase extends BrowserToolbar {
protected
final
LinearLayout
actionItemBar
;
protected
final
BackButton
backButton
;
private
final
OnClickListener
backButtonOnClickListener
;
private
final
OnLongClickListener
backButtonOnLongClickListener
;
protected
final
ForwardButton
forwardButton
;
private
final
OnClickListener
forwardButtonOnClickListener
;
private
final
OnLongClickListener
forwardButtonOnLongClickListener
;
private
final
Interpolator
buttonsInterpolator
=
new
AccelerateInterpolator
();
...
...
@@ -57,57 +52,39 @@ abstract class BrowserToolbarTabletBase extends BrowserToolbar {
setButtonEnabled
(
backButton
,
false
);
forwardButton
=
(
ForwardButton
)
findViewById
(
R
.
id
.
forward
);
setButtonEnabled
(
forwardButton
,
false
);
backButtonOnClickListener
=
new
BackButtonOnClickListener
();
backButtonOnLongClickListener
=
new
BackButtonOnLongClickListener
();
forwardButtonOnClickListener
=
new
ForwardButtonOnClickListener
();
forwardButtonOnLongClickListener
=
new
ForwardButtonOnLongClickListener
();
setNavigationButtonListeners
(
true
);
initButtonListeners
();
focusOrder
.
addAll
(
Arrays
.
asList
(
tabsButton
,
(
View
)
backButton
,
(
View
)
forwardButton
,
this
));
focusOrder
.
addAll
(
urlDisplayLayout
.
getFocusOrder
());
focusOrder
.
addAll
(
Arrays
.
asList
(
actionItemBar
,
menuButton
));
}
/**
* Enables or disables the click listeners on the back and forward buttons.
*
* This method is useful to remove and later add the listeners when a navigation button is hit
* because calling `browser.go*()` twice in succession can cause the UI buttons to get out of
* sync with gecko's browser state (bug 960746).
*
* @param disabled True if the listeners should be removed, false for them to be added.
*/
private
void
setNavigationButtonListeners
(
final
boolean
enabled
)
{
if
(
enabled
)
{
backButton
.
setOnClickListener
(
backButtonOnClickListener
);
backButton
.
setOnLongClickListener
(
backButtonOnLongClickListener
);
forwardButton
.
setOnClickListener
(
forwardButtonOnClickListener
);
forwardButton
.
setOnLongClickListener
(
forwardButtonOnLongClickListener
);
}
else
{
backButton
.
setOnClickListener
(
null
);
backButton
.
setOnLongClickListener
(
null
);
forwardButton
.
setOnClickListener
(
null
);
forwardButton
.
setOnLongClickListener
(
null
);
}
}
@Override
public
void
onTabChanged
(
final
Tab
tab
,
final
Tabs
.
TabEvents
msg
,
final
Object
data
)
{
// STOP appears to be the first page load event where async nav issues are prevented,
// SELECTED is for switching tabs, and LOAD_ERROR is called when a JavaScript exception
// is thrown while loading a URI, which can prevent STOP from ever being called.
//
// See `setNavigationButtonListeners` javadoc for more information.
if
(
msg
==
TabEvents
.
STOP
||
msg
==
TabEvents
.
SELECTED
||
msg
==
TabEvents
.
LOAD_ERROR
)
{
setNavigationButtonListeners
(
true
);
}
super
.
onTabChanged
(
tab
,
msg
,
data
);
private
void
initButtonListeners
()
{
backButton
.
setOnClickListener
(
new
Button
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Tabs
.
getInstance
().
getSelectedTab
().
doBack
();
}
});
backButton
.
setOnLongClickListener
(
new
Button
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
view
)
{
return
Tabs
.
getInstance
().
getSelectedTab
().
showBackHistory
();
}
});
forwardButton
.
setOnClickListener
(
new
Button
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Tabs
.
getInstance
().
getSelectedTab
().
doForward
();
}
});
forwardButton
.
setOnLongClickListener
(
new
Button
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
view
)
{
return
Tabs
.
getInstance
().
getSelectedTab
().
showForwardHistory
();
}
});
}
@Override
...
...
@@ -187,36 +164,4 @@ abstract class BrowserToolbarTabletBase extends BrowserToolbar {
button
.
setEnabled
(
enabled
);
}
private
class
BackButtonOnClickListener
implements
OnClickListener
{
@Override
public
void
onClick
(
final
View
view
)
{
setNavigationButtonListeners
(
false
);
Tabs
.
getInstance
().
getSelectedTab
().
doBack
();
}
}
private
class
BackButtonOnLongClickListener
implements
OnLongClickListener
{
@Override
public
boolean
onLongClick
(
final
View
view
)
{
setNavigationButtonListeners
(
false
);
return
Tabs
.
getInstance
().
getSelectedTab
().
showBackHistory
();
}
}
private
class
ForwardButtonOnClickListener
implements
OnClickListener
{
@Override
public
void
onClick
(
final
View
view
)
{
setNavigationButtonListeners
(
false
);
Tabs
.
getInstance
().
getSelectedTab
().
doForward
();
}
}
private
class
ForwardButtonOnLongClickListener
implements
OnLongClickListener
{
@Override
public
boolean
onLongClick
(
final
View
view
)
{
setNavigationButtonListeners
(
false
);
return
Tabs
.
getInstance
().
getSelectedTab
().
showForwardHistory
();
}
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment