From 82f92e500f5b6848c9162584a7e70b6607d49f60 Mon Sep 17 00:00:00 2001 From: Martijn Coenen Date: Thu, 18 Aug 2011 09:48:34 +0200 Subject: Sharetap settings screen animation and text. Change-Id: Ia19426be5a38a191a2786c1e75c4c5833a7c155f --- src/com/android/settings/nfc/ShareTap.java | 129 ++++++++++++++++++++++++++++ src/com/android/settings/nfc/ZeroClick.java | 107 ----------------------- 2 files changed, 129 insertions(+), 107 deletions(-) create mode 100644 src/com/android/settings/nfc/ShareTap.java delete mode 100644 src/com/android/settings/nfc/ZeroClick.java (limited to 'src/com/android/settings/nfc') diff --git a/src/com/android/settings/nfc/ShareTap.java b/src/com/android/settings/nfc/ShareTap.java new file mode 100644 index 0000000..e434781 --- /dev/null +++ b/src/com/android/settings/nfc/ShareTap.java @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * 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 com.android.settings.nfc; + +import android.app.ActionBar; +import android.app.Activity; +import android.app.Fragment; +import android.graphics.drawable.AnimationDrawable; +import android.nfc.NfcAdapter; +import android.os.Bundle; +import android.os.Handler; +import android.preference.PreferenceActivity; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CompoundButton; +import android.widget.ImageView; +import android.widget.Switch; +import com.android.settings.R; + +public class ShareTap extends Fragment + implements CompoundButton.OnCheckedChangeListener { + private View mView; + private AnimationDrawable mAnimation; + private ImageView mImageView; + private NfcAdapter mNfcAdapter; + private Switch mActionBarSwitch; + + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Activity activity = getActivity(); + + mActionBarSwitch = new Switch(activity); + + if (activity instanceof PreferenceActivity) { + PreferenceActivity preferenceActivity = (PreferenceActivity) activity; + if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) { + final int padding = activity.getResources().getDimensionPixelSize( + R.dimen.action_bar_switch_padding); + mActionBarSwitch.setPadding(0, 0, padding, 0); + activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, + ActionBar.DISPLAY_SHOW_CUSTOM); + activity.getActionBar().setCustomView(mActionBarSwitch, new ActionBar.LayoutParams( + ActionBar.LayoutParams.WRAP_CONTENT, + ActionBar.LayoutParams.WRAP_CONTENT, + Gravity.CENTER_VERTICAL | Gravity.RIGHT)); + activity.getActionBar().setTitle(R.string.zeroclick_settings_title); + } + } + + mActionBarSwitch.setOnCheckedChangeListener(this); + + mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity()); + mActionBarSwitch.setChecked(mNfcAdapter.isZeroClickEnabled()); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mView = inflater.inflate(R.layout.sharetap, container, false); + initView(mView); + return mView; + } + + private void initView(View view) { + mActionBarSwitch.setOnCheckedChangeListener(this); + mActionBarSwitch.setChecked(mNfcAdapter.isZeroClickEnabled()); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + + mImageView = (ImageView) getActivity().findViewById(R.id.sharetap_image); + mImageView.setBackgroundResource(R.drawable.sharetap_anim); + mAnimation = (AnimationDrawable) mImageView.getBackground(); + + } + + @Override + public void onPause() { + super.onPause(); + mAnimation.stop(); + } + + @Override + public void onResume() { + super.onResume(); + // This is nasty: the animation can only be started once the fragment + // is attached to the window, and there are no callbacks for that. + mImageView.post(new Runnable() { + public void run() { + mAnimation.start(); + } + }); + } + + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean desiredState) { + boolean success = false; + mActionBarSwitch.setEnabled(false); + if (desiredState) { + success = mNfcAdapter.enableZeroClick(); + } else { + success = mNfcAdapter.disableZeroClick(); + } + if (success) { + mActionBarSwitch.setChecked(desiredState); + } + mActionBarSwitch.setEnabled(true); + } +} diff --git a/src/com/android/settings/nfc/ZeroClick.java b/src/com/android/settings/nfc/ZeroClick.java deleted file mode 100644 index 1b59b52..0000000 --- a/src/com/android/settings/nfc/ZeroClick.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * 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 com.android.settings.nfc; - -import android.app.ActionBar; -import android.app.Activity; -import android.app.Fragment; -import android.nfc.NfcAdapter; -import android.os.Bundle; -import android.preference.PreferenceActivity; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.CompoundButton; -import android.widget.Switch; -import com.android.settings.R; - -public class ZeroClick extends Fragment - implements CompoundButton.OnCheckedChangeListener { - private View mView; - private NfcAdapter mNfcAdapter; - private Switch mActionBarSwitch; - - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - Activity activity = getActivity(); - - mActionBarSwitch = new Switch(activity); - - if (activity instanceof PreferenceActivity) { - PreferenceActivity preferenceActivity = (PreferenceActivity) activity; - if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) { - final int padding = activity.getResources().getDimensionPixelSize( - R.dimen.action_bar_switch_padding); - mActionBarSwitch.setPadding(0, 0, padding, 0); - activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, - ActionBar.DISPLAY_SHOW_CUSTOM); - activity.getActionBar().setCustomView(mActionBarSwitch, new ActionBar.LayoutParams( - ActionBar.LayoutParams.WRAP_CONTENT, - ActionBar.LayoutParams.WRAP_CONTENT, - Gravity.CENTER_VERTICAL | Gravity.RIGHT)); - activity.getActionBar().setTitle(R.string.zeroclick_settings_title); - } - } - - mActionBarSwitch.setOnCheckedChangeListener(this); - - mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity()); - mActionBarSwitch.setChecked(mNfcAdapter.isZeroClickEnabled()); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - mView = inflater.inflate(R.layout.zeroclick, container, false); - initView(mView); - return mView; - } - - private void initView(View view) { - mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity()); - mActionBarSwitch.setOnCheckedChangeListener(this); - mActionBarSwitch.setChecked(mNfcAdapter.isZeroClickEnabled()); - } - - @Override - public void onPause() { - super.onPause(); - } - - @Override - public void onResume() { - super.onResume(); - } - - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean desiredState) { - boolean success = false; - mActionBarSwitch.setEnabled(false); - if (desiredState) { - success = mNfcAdapter.enableZeroClick(); - } else { - success = mNfcAdapter.disableZeroClick(); - } - if (success) { - mActionBarSwitch.setChecked(desiredState); - } - mActionBarSwitch.setEnabled(true); - } -} -- cgit v1.1