diff options
Diffstat (limited to 'AutoMessagingDemo/app/src/main/java/com/example/android/automessagingdemo/MessagingFragment.java')
-rw-r--r-- | AutoMessagingDemo/app/src/main/java/com/example/android/automessagingdemo/MessagingFragment.java | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/AutoMessagingDemo/app/src/main/java/com/example/android/automessagingdemo/MessagingFragment.java b/AutoMessagingDemo/app/src/main/java/com/example/android/automessagingdemo/MessagingFragment.java deleted file mode 100644 index 2fe75c6..0000000 --- a/AutoMessagingDemo/app/src/main/java/com/example/android/automessagingdemo/MessagingFragment.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2014 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.example.android.automessagingdemo; - -import android.app.Fragment; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.os.IBinder; -import android.os.Message; -import android.os.Messenger; -import android.os.RemoteException; -import android.text.method.ScrollingMovementMethod; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.TextView; - -/** - * The main fragment that shows the buttons and the text view containing the log. - */ -public class MessagingFragment extends Fragment implements View.OnClickListener { - - private static final String TAG = MessagingFragment.class.getSimpleName(); - - private Button mSendSingleConversation; - private Button mSendTwoConversations; - private Button mSendConversationWithThreeMessages; - private TextView mDataPortView; - private Button mClearLogButton; - - private Messenger mService; - private boolean mBound; - - private ServiceConnection mConnection = new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName componentName, IBinder service) { - mService = new Messenger(service); - mBound = true; - setButtonsState(true); - } - - @Override - public void onServiceDisconnected(ComponentName componentName) { - mService = null; - mBound = false; - setButtonsState(false); - } - }; - - private SharedPreferences.OnSharedPreferenceChangeListener listener = - new SharedPreferences.OnSharedPreferenceChangeListener() { - @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if (MessageLogger.LOG_KEY.equals(key)) { - mDataPortView.setText(MessageLogger.getAllMessages(getActivity())); - } - } - }; - - public MessagingFragment() { - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_message_me, container, false); - - mSendSingleConversation = (Button) rootView.findViewById(R.id.send_1_conversation); - mSendSingleConversation.setOnClickListener(this); - - mSendTwoConversations = (Button) rootView.findViewById(R.id.send_2_conversations); - mSendTwoConversations.setOnClickListener(this); - - mSendConversationWithThreeMessages = - (Button) rootView.findViewById(R.id.send_1_conversation_3_messages); - mSendConversationWithThreeMessages.setOnClickListener(this); - - mDataPortView = (TextView) rootView.findViewById(R.id.data_port); - mDataPortView.setMovementMethod(new ScrollingMovementMethod()); - - mClearLogButton = (Button) rootView.findViewById(R.id.clear); - mClearLogButton.setOnClickListener(this); - - setButtonsState(false); - - return rootView; - } - - @Override - public void onClick(View view) { - if (view == mSendSingleConversation) { - sendMsg(1, 1); - } else if (view == mSendTwoConversations) { - sendMsg(2, 1); - } else if (view == mSendConversationWithThreeMessages) { - sendMsg(1, 3); - } else if (view == mClearLogButton) { - MessageLogger.clear(getActivity()); - mDataPortView.setText(MessageLogger.getAllMessages(getActivity())); - } - } - - @Override - public void onStart() { - super.onStart(); - getActivity().bindService(new Intent(getActivity(), MessagingService.class), mConnection, - Context.BIND_AUTO_CREATE); - } - - @Override - public void onPause() { - super.onPause(); - MessageLogger.getPrefs(getActivity()).unregisterOnSharedPreferenceChangeListener(listener); - } - - @Override - public void onResume() { - super.onResume(); - mDataPortView.setText(MessageLogger.getAllMessages(getActivity())); - MessageLogger.getPrefs(getActivity()).registerOnSharedPreferenceChangeListener(listener); - } - - @Override - public void onStop() { - super.onStop(); - if (mBound) { - getActivity().unbindService(mConnection); - mBound = false; - } - } - - private void sendMsg(int howManyConversations, int messagesPerConversation) { - if (mBound) { - Message msg = Message.obtain(null, MessagingService.MSG_SEND_NOTIFICATION, - howManyConversations, messagesPerConversation); - try { - mService.send(msg); - } catch (RemoteException e) { - Log.e(TAG, "Error sending a message", e); - MessageLogger.logMessage(getActivity(), "Error occurred while sending a message."); - } - } - } - - private void setButtonsState(boolean enable) { - mSendSingleConversation.setEnabled(enable); - mSendTwoConversations.setEnabled(enable); - mSendConversationWithThreeMessages.setEnabled(enable); - } -} |