1 // Copyright 2019 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.chrome.browser.tasks.tab_management;
6 
7 import org.chromium.ui.modelutil.PropertyKey;
8 import org.chromium.ui.modelutil.PropertyModel;
9 
10 class TabListContainerProperties {
11     public static final PropertyModel.WritableBooleanPropertyKey IS_VISIBLE =
12             new PropertyModel.WritableBooleanPropertyKey();
13 
14     public static final PropertyModel.WritableBooleanPropertyKey IS_INCOGNITO =
15             new PropertyModel.WritableBooleanPropertyKey();
16 
17     public static final PropertyModel
18             .WritableObjectPropertyKey<TabListRecyclerView.VisibilityListener> VISIBILITY_LISTENER =
19             new PropertyModel.WritableObjectPropertyKey<>();
20 
21     /**
22      * Integer, but not {@link PropertyModel.WritableIntPropertyKey} so that we can force update on
23      * the same value.
24      */
25     public static final PropertyModel.WritableObjectPropertyKey<Integer> INITIAL_SCROLL_INDEX =
26             new PropertyModel.WritableObjectPropertyKey<>(true);
27 
28     public static final PropertyModel.WritableBooleanPropertyKey ANIMATE_VISIBILITY_CHANGES =
29             new PropertyModel.WritableBooleanPropertyKey();
30 
31     public static final PropertyModel.WritableIntPropertyKey TOP_MARGIN =
32             new PropertyModel.WritableIntPropertyKey();
33 
34     public static final PropertyModel.WritableIntPropertyKey BOTTOM_CONTROLS_HEIGHT =
35             new PropertyModel.WritableIntPropertyKey();
36 
37     public static final PropertyModel.WritableIntPropertyKey SHADOW_TOP_OFFSET =
38             new PropertyModel.WritableIntPropertyKey();
39 
40     public static final PropertyModel.WritableIntPropertyKey BOTTOM_PADDING =
41             new PropertyModel.WritableIntPropertyKey();
42 
43     public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {IS_VISIBLE, IS_INCOGNITO,
44             VISIBILITY_LISTENER, INITIAL_SCROLL_INDEX, ANIMATE_VISIBILITY_CHANGES, TOP_MARGIN,
45             BOTTOM_CONTROLS_HEIGHT, SHADOW_TOP_OFFSET, BOTTOM_PADDING};
46 }
47