]> Pileus Git - ~andy/freeotp/blob - src/org/fedorahosted/freeotp/adapters/BaseAdapter.java
Tablet UI rewrite
[~andy/freeotp] / src / org / fedorahosted / freeotp / adapters / BaseAdapter.java
1 /*
2  * FreeOTP
3  *
4  * Authors: Nathaniel McCallum <npmccallum@redhat.com>
5  *
6  * Copyright (C) 2013  Nathaniel McCallum, Red Hat
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 package org.fedorahosted.freeotp.adapters;
22
23 import android.view.View;
24 import android.view.ViewGroup;
25
26 public abstract class BaseAdapter extends android.widget.BaseAdapter {
27         @Override
28         public long getItemId(int position) {
29                 return position;
30         }
31
32         @Override
33         public View getView(int position, View convertView, ViewGroup parent) {
34                 if (convertView == null) {
35                         int type = getItemViewType(position);
36                         convertView = createView(parent, type);
37                         processView(convertView, type);
38                 }
39
40                 bindView(convertView, position);
41                 return convertView;
42         }
43
44         protected abstract void bindView(View view, int position);
45         protected abstract void processView(View view, int type);
46         protected abstract View createView(ViewGroup parent, int type);
47 }