Commit 46d32f0b authored by Marcin Wiacek's avatar Marcin Wiacek Committed by Commit Bot

Replace enum with @IntDef inside ChromeBrowserProvider

Change-Id: Ie684317904482f3f2629c8cd613008fdd76a5b3d
Reviewed-on: https://chromium-review.googlesource.com/1142405Reviewed-by: default avatarTheresa <twellington@chromium.org>
Commit-Queue: Marcin Wiącek <marcin@mwiacek.com>
Cr-Commit-Position: refs/heads/master@{#576239}
parent 78a878f4
...@@ -22,6 +22,7 @@ import android.os.Parcel; ...@@ -22,6 +22,7 @@ import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.os.UserHandle; import android.os.UserHandle;
import android.provider.BaseColumns; import android.provider.BaseColumns;
import android.support.annotation.IntDef;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.util.LongSparseArray; import android.util.LongSparseArray;
...@@ -40,6 +41,8 @@ import org.chromium.chrome.browser.externalauth.ExternalAuthUtils; ...@@ -40,6 +41,8 @@ import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.content_public.browser.BrowserStartupController; import org.chromium.content_public.browser.BrowserStartupController;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -670,12 +673,16 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -670,12 +673,16 @@ public class ChromeBrowserProvider extends ContentProvider {
/** /**
* The type of a BookmarkNode. * The type of a BookmarkNode.
*/ */
public enum Type { @IntDef({Type.URL, Type.FOLDER, Type.BOOKMARK_BAR, Type.OTHER_NODE, Type.MOBILE})
URL, @Retention(RetentionPolicy.SOURCE)
FOLDER, public @interface Type {
BOOKMARK_BAR, // Values should be numerated from 0 and can't have gaps.
OTHER_NODE, int URL = 0;
MOBILE int FOLDER = 1;
int BOOKMARK_BAR = 2;
int OTHER_NODE = 3;
int MOBILE = 4;
int NUM_ENTRIES = 5;
} }
/** /**
...@@ -685,7 +692,7 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -685,7 +692,7 @@ public class ChromeBrowserProvider extends ContentProvider {
private final long mId; private final long mId;
private final String mName; private final String mName;
private final String mUrl; private final String mUrl;
private final Type mType; private final @Type int mType;
private final BookmarkNode mParent; private final BookmarkNode mParent;
private final List<BookmarkNode> mChildren = new ArrayList<BookmarkNode>(); private final List<BookmarkNode> mChildren = new ArrayList<BookmarkNode>();
...@@ -695,7 +702,7 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -695,7 +702,7 @@ public class ChromeBrowserProvider extends ContentProvider {
/** Used to pass structured data back from the native code. */ /** Used to pass structured data back from the native code. */
@VisibleForTesting @VisibleForTesting
public BookmarkNode(long id, Type type, String name, String url, BookmarkNode parent) { public BookmarkNode(long id, @Type int type, String name, String url, BookmarkNode parent) {
mId = id; mId = id;
mName = name; mName = name;
mUrl = url; mUrl = url;
...@@ -727,7 +734,7 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -727,7 +734,7 @@ public class ChromeBrowserProvider extends ContentProvider {
/** /**
* @return The type of this bookmark entry. * @return The type of this bookmark entry.
*/ */
public Type type() { public @Type int type() {
return mType; return mType;
} }
...@@ -847,7 +854,7 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -847,7 +854,7 @@ public class ChromeBrowserProvider extends ContentProvider {
dest.writeLong(mId); dest.writeLong(mId);
dest.writeString(mName); dest.writeString(mName);
dest.writeString(mUrl); dest.writeString(mUrl);
dest.writeInt(mType.ordinal()); dest.writeInt(mType);
dest.writeByteArray(mFavicon); dest.writeByteArray(mFavicon);
dest.writeByteArray(mThumbnail); dest.writeByteArray(mThumbnail);
dest.writeLong(mParent != null ? mParent.mId : INVALID_BOOKMARK_ID); dest.writeLong(mParent != null ? mParent.mId : INVALID_BOOKMARK_ID);
...@@ -889,13 +896,12 @@ public class ChromeBrowserProvider extends ContentProvider { ...@@ -889,13 +896,12 @@ public class ChromeBrowserProvider extends ContentProvider {
byte[] favicon = source.createByteArray(); byte[] favicon = source.createByteArray();
byte[] thumbnail = source.createByteArray(); byte[] thumbnail = source.createByteArray();
long parentId = source.readLong(); long parentId = source.readLong();
if (type < 0 || type >= Type.values().length) { if (type < 0 || type >= Type.NUM_ENTRIES) {
Log.w(TAG, "Invalid node type ordinal value."); Log.w(TAG, "Invalid node type ordinal value.");
return null; return null;
} }
BookmarkNode node = new BookmarkNode(id, Type.values()[type], name, url, BookmarkNode node = new BookmarkNode(id, type, name, url, getNode(parentId));
getNode(parentId));
node.setFavicon(favicon); node.setFavicon(favicon);
node.setThumbnail(thumbnail); node.setThumbnail(thumbnail);
return node; return node;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment