package com.example.patrick.myapplication.view; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import com.example.patrick.myapplication.R; import com.example.patrick.myapplication.bean.NodeBean; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; /** * Created by Patrizio Perna on 19/01/15. */ public class MyDetailFragment extends Fragment implements OnMapReadyCallback { /** * Chiave per l'argomento che viene passato. */ public static final String ARGUMENT_ITEM = "ITEM"; public static final String ARGUMENT_ITEM_LAYER = "LAYER"; private MapFragment mapFragment; private NodeBean node; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); // Creo la view per questo fragment View rootView = inflater.inflate(R.layout.fragment_detail, container, false); // Recupero riferimento al fragment per la mappa MapFragment mapFragment = (MapFragment) getActivity().getFragmentManager() .findFragmentById(R.id.mapFragmentDetail); mapFragment.getMapAsync(this); // Recupero oggetto NodeBean cliccato Bundle arguments = getArguments(); node = arguments.getParcelable("com.example.patrick.myapplication.NodeBean"); //textView.setText("Item selected: "+arguments.getString(ARGUMENT_ITEM)); TextView textView1 =(TextView)rootView.findViewById(R.id.detailsText); textView1.setText(node.getUser()); // Test oggetto recuperato Log.i("myDetailFragment",node.getUser()); ((ImageButton) rootView.findViewById(R.id.skypeButtonChat)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String skypeName = "marco_trib4"; if (skypeName.length() <= 0) { Toast.makeText(getActivity().getApplicationContext(), "Please enter skype username to message", Toast.LENGTH_SHORT).show(); } else { String mySkypeUri = "skype:" + skypeName + "?chat"; SkypeUri(getActivity(), mySkypeUri); } } }); ((ImageButton) rootView.findViewById(R.id.skypeButtonCall)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String skypeName = "marco_trib4"; if (skypeName.length() <= 0) { Toast.makeText(getActivity().getApplicationContext(), "Please enter skype username to message", Toast.LENGTH_SHORT).show(); } else { String mySkypeUri = "skype:"+skypeName+"?call"; SkypeUri(getActivity(), mySkypeUri); } } }); ((ImageButton) rootView.findViewById(R.id.telegramButtonChat)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://telegram.me/stickers")); startActivity(browserIntent); } }); return rootView; } public void setText(String item) { TextView view = (TextView) getView().findViewById(R.id.detailsText); view.setText(item); } @Override public void onMapReady(GoogleMap googleMap) { String tmp[] = node.getGeometry().getCoordinates(); String lon = tmp[0]; String lat = tmp[1]; LatLng nodeCoordinates = new LatLng(Float.parseFloat(lat),Float.parseFloat(lon)); googleMap.setMyLocationEnabled(true); googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(nodeCoordinates, 12)); int resource; if(node.isActive()) resource = R.drawable.attivo; else resource = R.drawable.potenziale; googleMap.addMarker(new MarkerOptions() .title(node.getName()) .snippet(node.getDescription()) .position(nodeCoordinates)) .setIcon(BitmapDescriptorFactory.fromResource(resource)); } public void SkypeUri(Context myContext, String mySkypeUri) { // Make sure the Skype for Android client is installed. if (!isSkypeClientInstalled(myContext)) { goToMarket(myContext); return; } Uri skypeUri = Uri.parse(mySkypeUri); Intent myIntent = new Intent(Intent.ACTION_VIEW, skypeUri); myIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main")); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); myContext.startActivity(myIntent); return; } /** * Determine whether the Skype for Android client is installed on this device. */ public boolean isSkypeClientInstalled(Context myContext) { PackageManager myPackageMgr = myContext.getPackageManager(); try { myPackageMgr.getPackageInfo("com.skype.raider", PackageManager.GET_ACTIVITIES); } catch (PackageManager.NameNotFoundException e) { return (false); } return (true); } /** * Install the Skype client through the market: URI scheme. */ public void goToMarket(Context myContext) { Uri marketUri = Uri.parse("market://details?id=com.skype.raider"); Intent myIntent = new Intent(Intent.ACTION_VIEW, marketUri); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); myContext.startActivity(myIntent); return; } }