Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4373)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java

Issue 2853943002: Make sure progress bar is attached before init (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
index 14c83bdcc902c637b661aa10f7ec6a210de6d2e3..b27110145b9a110fc6c7bae5d44f46954b094012 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java
@@ -101,8 +101,9 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
@Override
public void onLayoutChange(View view, int left, int top, int right, int bottom,
int oldLeft, int oldTop, int oldRight, int oldBottom) {
- if (isNativeLibraryReady()) mProgressBar.initializeAnimation();
- addProgressBarToHierarchy();
+ if (isNativeLibraryReady() && mProgressBar.getParent() != null) {
+ mProgressBar.initializeAnimation();
+ }
mProgressBar.setTopMargin(getProgressBarTopMargin());
// Since this only needs to happen once, remove this listener from the view.
@@ -217,7 +218,13 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
*/
public void onNativeLibraryReady() {
mNativeLibraryReady = true;
- if (mProgressBar != null) mProgressBar.initializeAnimation();
+ if (mProgressBar.getParent() != null) mProgressBar.initializeAnimation();
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ addProgressBarToHierarchy();
}
/**
@@ -264,8 +271,6 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
* Add the toolbar's progress bar to the view hierarchy.
*/
protected void addProgressBarToHierarchy() {
- if (mProgressBar == null) return;
-
ViewGroup controlContainer =
(ViewGroup) getRootView().findViewById(R.id.control_container);
int progressBarPosition = UiUtils.insertAfter(
@@ -596,9 +601,7 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
* Starts load progress.
*/
protected void startLoadProgress() {
- if (mProgressBar != null) {
- mProgressBar.start();
- }
+ mProgressBar.start();
}
/**
@@ -606,9 +609,7 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
* @param progress The load progress between 0 and 1.
*/
protected void setLoadProgress(float progress) {
- if (mProgressBar != null) {
- mProgressBar.setProgress(progress);
- }
+ mProgressBar.setProgress(progress);
}
/**
@@ -617,16 +618,14 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
* recognize the last state.
*/
protected void finishLoadProgress(boolean delayed) {
- if (mProgressBar != null) {
- mProgressBar.finish(delayed);
- }
+ mProgressBar.finish(delayed);
}
/**
* @return True if the progress bar is started.
*/
protected boolean isProgressStarted() {
- return mProgressBar != null ? mProgressBar.isStarted() : false;
+ return mProgressBar.isStarted();
}
/**
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698