/*
* Copyright (C) 2009 University of Washington
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package org.odk.collect.android.activities;
import org.odk.collect.android.R;
import android.app.TabActivity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TabHost;
import android.widget.TabWidget;
import android.widget.TextView;
/**
* A host activity for {@link InstanceChooserList}.
*
* @author Yaw Anokwa (yanokwa@gmail.com)
*/
public class InstanceChooserTabs extends TabActivity {
// count for tab menu bar
private static int mSavedCount;
private static int mCompletedCount;
private static final String SAVED_TAB = "saved_tab";
private static final String COMPLETED_TAB = "completed_tab";
private static final int FONT_SIZE = 21;
/*
* (non-Javadoc)
* @see android.app.ActivityGroup#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(getString(R.string.app_name) + " > " + getString(R.string.review_data));
// create tab host and tweak color
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);
// create intent for saved tab
Intent saved = new Intent(this, InstanceChooserList.class);
tabHost.addTab(tabHost.newTabSpec(SAVED_TAB)
.setIndicator(getString(R.string.saved_data, mSavedCount)).setContent(saved));
// create intent for completed tab
Intent completed = new Intent(this, InstanceChooserList.class);
tabHost.addTab(tabHost.newTabSpec(COMPLETED_TAB)
.setIndicator(getString(R.string.completed_data, mCompletedCount))
.setContent(completed));
// hack to set font size and padding in tab headers
// arrived at these paths by using hierarchy viewer
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);
RelativeLayout rls = (RelativeLayout) tw.getChildAt(0);
TextView tvs = (TextView) rls.getChildAt(1);
tvs.setTextSize(FONT_SIZE);
tvs.setPadding(0, 0, 0, 6);
RelativeLayout rlc = (RelativeLayout) tw.getChildAt(1);
TextView tvc = (TextView) rlc.getChildAt(1);
tvc.setTextSize(FONT_SIZE);
tvc.setPadding(0, 0, 0, 6);
if (mSavedCount >= mCompletedCount) {
getTabHost().setCurrentTabByTag(SAVED_TAB);
} else {
getTabHost().setCurrentTabByTag(COMPLETED_TAB);
}
}
}