/** * Copyright (C) 2013 Samsung Electronics Co., Ltd. All rights reserved. * * Mobile Communication Division, * Digital Media & Communications Business, Samsung Electronics Co., Ltd. * * This software and its documentation are confidential and proprietary * information of Samsung Electronics Co., Ltd. No part of the software and * documents may be copied, reproduced, transmitted, translated, or reduced to * any electronic medium or machine-readable form without the prior written * consent of Samsung Electronics. * * Samsung Electronics makes no representations with respect to the contents, * and assumes no responsibility for any errors that might appear in the * software and documents. This publication and the contents hereof are subject * to change without notice. */ package com.samsung.chord.samples.apidemo; import java.util.List; import android.app.Fragment; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.samsung.chord.ChordManager; import com.samsunghack.apps.android.noq.AppPrefs; import com.samsunghack.apps.android.noq.R; public class InterfaceTestFragment extends Fragment implements OnClickListener { private static final String TAG = "[Chord][ApiTest]"; private static final String TAGClass = "InterfaceTestFragment : "; private InterfaceTestFragmentListener mListener; private Button mButtenWifi; private Button mButtenMobileAp; private Button mButtenWifiDirect; private TextView mTextViewDescription; private Drawable mDrawableAccept; private Drawable mDrawableCancel; private boolean bAvailableWifi = false; private boolean bAvailableMobileAp = false; private boolean bAvailableWifiDirect = false; public InterfaceTestFragment() { } @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.interfacetest_fragment, null); mButtenWifi = (Button)view.findViewById(R.id.buttonWifi); mButtenMobileAp = (Button)view.findViewById(R.id.buttonMobileAp); mButtenWifiDirect = (Button)view.findViewById(R.id.buttonWifiDirect); mTextViewDescription = (TextView)view.findViewById(R.id.descriptionTextView); mDrawableAccept = view.getResources().getDrawable(R.drawable.accept); mDrawableCancel = view.getResources().getDrawable(R.drawable.cancel); mDrawableAccept.setBounds(0, 0, mDrawableAccept.getIntrinsicWidth(), mDrawableAccept.getIntrinsicHeight()); mDrawableCancel.setBounds(0, 0, mDrawableCancel.getIntrinsicWidth(), mDrawableCancel.getIntrinsicHeight()); mButtenWifi.setEnabled(true); mButtenMobileAp.setEnabled(true); mButtenWifiDirect.setEnabled(true); mButtenWifi.setOnClickListener(this); mButtenMobileAp.setOnClickListener(this); mButtenWifiDirect.setOnClickListener(this); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.buttonWifi: Log.d(TAG, TAGClass + "setOnClickListener() - Wi-Fi"); if (bAvailableWifi) { mListener.startChannelTestFragment(ChordManager.INTERFACE_TYPE_WIFI); } else { Toast.makeText(getActivity(), R.string.no_device_description, Toast.LENGTH_SHORT).show(); } break; case R.id.buttonMobileAp: Log.d(TAG, TAGClass + "setOnClickListener() - Mobile AP"); if (bAvailableMobileAp) { mListener.startChannelTestFragment(ChordManager.INTERFACE_TYPE_WIFIAP); } else { Toast.makeText(getActivity(), R.string.no_device_description, Toast.LENGTH_SHORT).show(); } break; case R.id.buttonWifiDirect: Log.d(TAG, TAGClass + "setOnClickListener() - Wi-Fi Direct"); if (bAvailableWifiDirect) { mListener.startChannelTestFragment(ChordManager.INTERFACE_TYPE_WIFIP2P); } else { Toast.makeText(getActivity(), R.string.no_device_description, Toast.LENGTH_SHORT).show(); } break; default: Log.d(TAG, TAGClass + "setOnClickListener() - default"); break; } } // ********************************************************************** // For the Activity // ********************************************************************** public interface InterfaceTestFragmentListener { public void startChannelTestFragment(int interfaceType); } public void setListener(InterfaceTestFragmentListener interfaceTestFragmentListener) { mListener = interfaceTestFragmentListener; } public void setEnableNetworkInterface(List<Integer> interfaceList) { Log.d(TAG, TAGClass + "setEnableNetworkInterface()"); bAvailableWifi = false; bAvailableMobileAp = false; bAvailableWifiDirect = false; for (int interfaceValue : interfaceList) { Log.d(TAG, TAGClass + "Available interface : " + interfaceValue); if (interfaceValue == ChordManager.INTERFACE_TYPE_WIFI) { bAvailableWifi = true; } else if (interfaceValue == ChordManager.INTERFACE_TYPE_WIFIAP) { bAvailableMobileAp = true; } else if (interfaceValue == ChordManager.INTERFACE_TYPE_WIFIP2P) { bAvailableWifiDirect = true; } } if (bAvailableWifi) { mButtenWifi.setCompoundDrawables(null, mDrawableAccept, null, null); AppPrefs.setRestaurantConsole(true); boolean isRestaurantConsole = AppPrefs.getRestaurantConsole(); Log.d(TAG,"Is Restaurant Console = " + isRestaurantConsole); // Launch the Chord on WiFi AP // mListener.startChannelTestFragment(ChordManager.INTERFACE_TYPE_WIFI); } else { mButtenWifi.setCompoundDrawables(null, mDrawableCancel, null, null); } if (bAvailableMobileAp) { mButtenMobileAp.setCompoundDrawables(null, mDrawableAccept, null, null); AppPrefs.setRestaurantConsole(true); boolean isRestaurantConsole = AppPrefs.getRestaurantConsole(); Log.d(TAG,"Is Restaurant Console = " + isRestaurantConsole); // Launch the Chord on Mobile AP // mListener.startChannelTestFragment(ChordManager.INTERFACE_TYPE_WIFIAP); } else { mButtenMobileAp.setCompoundDrawables(null, mDrawableCancel, null, null); } if (bAvailableWifiDirect) { mButtenWifiDirect.setCompoundDrawables(null, mDrawableAccept, null, null); } else { mButtenWifiDirect.setCompoundDrawables(null, mDrawableCancel, null, null); } if (bAvailableWifi || bAvailableMobileAp || bAvailableWifiDirect) { mTextViewDescription.setText(R.string.description); } else { mTextViewDescription.setText(R.string.no_device_description); } } }