17aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska/*
27aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Copyright (C) 2017 The Android Open Source Project
37aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska *
47aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Licensed under the Apache License, Version 2.0 (the "License");
57aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * you may not use this file except in compliance with the License.
67aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * You may obtain a copy of the License at
77aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska *
87aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska *      http://www.apache.org/licenses/LICENSE-2.0
97aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska *
107aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Unless required by applicable law or agreed to in writing, software
117aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * distributed under the License is distributed on an "AS IS" BASIS,
127aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * See the License for the specific language governing permissions and
147aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * limitations under the License.
157aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska */
167aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
177aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskapackage com.example.android.support.wear.app;
187aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
197aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport android.app.Activity;
207aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport android.os.Bundle;
21b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.v7.widget.RecyclerView;
22b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.wear.widget.WearableLinearLayoutManager;
23b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.wear.widget.WearableRecyclerView;
24b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.view.ViewGroup;
25b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.widget.TextView;
267aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
277aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport com.example.android.support.wear.R;
287aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
297aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska/**
307aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Main activity for the WearableRecyclerView demo.
317aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska */
327aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskapublic class SimpleWearableRecyclerViewDemo extends Activity {
337aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
347aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska    @Override
357aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska    protected void onCreate(Bundle savedInstanceState) {
367aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska        super.onCreate(savedInstanceState);
377aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska        setContentView(R.layout.wrv_demo);
38b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
39b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        WearableRecyclerView wrv = findViewById(R.id.wrv_container);
40b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
41b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        wrv.setLayoutManager(new WearableLinearLayoutManager(this));
42b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        wrv.setAdapter(new DemoAdapter());
43b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        wrv.setCircularScrollingGestureEnabled(true);
44b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        wrv.setEdgeItemsCenteringEnabled(true);
457aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska    }
467aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska
47b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska    private class ViewHolder extends RecyclerView.ViewHolder {
48b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        TextView mView;
49b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        ViewHolder(TextView itemView) {
50b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            super(itemView);
51b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            mView = itemView;
52b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        }
53b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska    }
54b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
55b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska    private class DemoAdapter extends WearableRecyclerView.Adapter<ViewHolder> {
56b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        private static final int ITEM_COUNT = 100;
57b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
58b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        @Override
59b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
60b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            TextView view = new TextView(parent.getContext());
61b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            return new ViewHolder(view);
62b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        }
63b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
64b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        @Override
65b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        public void onBindViewHolder(ViewHolder holder, int position) {
66b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            holder.mView.setText("Holder at position " + position);
67b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            holder.mView.setTag(position);
68b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        }
69b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
70b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska
71b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        @Override
72b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        public int getItemCount() {
73b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska            return ITEM_COUNT;
74b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska        }
75b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska    }
767aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska}
77