Make sure preloaded tabs have unique IDs.

Bug: 5251821
Change-Id: I6dd7561a2461805912268a5faf967199cf39fd8c
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 69213cd..3b283cc 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -1435,6 +1435,15 @@
         };
     }
 
+    /**
+     * This is used to get a new ID when the tab has been preloaded, before it is displayed and
+     * added to TabControl. Preloaded tabs can be created before restoreInstanceState, leading
+     * to overlapping IDs between the preloaded and restored tabs.
+     */
+    public void refreshIdAfterPreload() {
+        mId = TabControl.getNextId();
+    }
+
     public void updateShouldCaptureThumbnails() {
         if (mWebViewController.shouldCaptureThumbnails()) {
             synchronized (Tab.this) {