package org.gdg.frisbee.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.wearable.view.WearableListView; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class TimeConfigActivity extends Activity { public static final String CONFIG_HEADER = "org.gdgph.watchface.time.header"; public static final String CONFIG_VALUE = "org.gdgph.watchface.time.value"; private String mHeader; private WearableListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wearable_configuration); final TextView headerText = (TextView) findViewById(R.id.settings_header); if (getIntent().getExtras().containsKey(CONFIG_HEADER)) { mHeader = getIntent().getStringExtra(CONFIG_HEADER); headerText.setText(mHeader); } else { finish(); } mListView = (WearableListView) findViewById(R.id.settings_list); mListView.addOnScrollListener(new WearableListView.OnScrollListener() { @Override public void onScroll(int i) { } @Override public void onAbsoluteScrollChange(int scroll) { float translation = Math.min(-scroll, 0); headerText.setTranslationY(translation); } @Override public void onScrollStateChanged(int i) { } @Override public void onCentralPositionChanged(int i) { } }); displayTimeSelection(); } private void displayTimeSelection() { List<String> timeSettings = new ArrayList<>(); String[] timeSetting = getResources().getStringArray(R.array.time_selection); for (String setting : timeSetting) { timeSettings.add(setting); } TimeConfigAdapter adapter = new TimeConfigAdapter(this, timeSettings); mListView.setAdapter(adapter); mListView.setClickListener(new WearableListView.ClickListener() { @Override public void onClick(WearableListView.ViewHolder viewHolder) { WearableListItemLayout layout = (WearableListItemLayout) viewHolder.itemView; TextView nameTextView = (TextView) layout.findViewById(R.id.setting_text_view); Intent intent = new Intent(); intent.putExtra(CONFIG_HEADER, mHeader); intent.putExtra(CONFIG_VALUE, getTimeValue(nameTextView.getText().toString())); setResult(RESULT_OK, intent); finish(); } @Override public void onTopEmptyRegionClick() { } }); } private int getTimeValue(String timeSetting) { if(getString(R.string.time_12).equals(timeSetting)) { return WearableConfigurationUtil.TIME_12_HOUR; } else if(getString(R.string.time_24).equals(timeSetting)) { return WearableConfigurationUtil.TIME_24_HOUR; } else { return 0; } } }