fork download
  1. package com.example.android.wifidirect;
  2.  
  3. import android.app.Fragment;
  4. import android.app.ProgressDialog;
  5. import android.content.Context;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.net.Uri;
  9. import android.net.wifi.WpsInfo;
  10. import android.net.wifi.p2p.WifiP2pConfig;
  11. import android.net.wifi.p2p.WifiP2pDevice;
  12. import android.net.wifi.p2p.WifiP2pInfo;
  13. import android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener;
  14. import android.os.AsyncTask;
  15. import android.os.Bundle;
  16. import android.os.Environment;
  17. import android.util.Log;
  18. import android.view.LayoutInflater;
  19. import android.view.View;
  20. import android.view.ViewGroup;
  21. import android.webkit.MimeTypeMap;
  22. import android.widget.TextView;
  23. import android.widget.Toast;
  24.  
  25. import com.example.android.wifidirect.DeviceListFragment.DeviceActionListener;
  26.  
  27. import java.io.File;
  28. import java.io.FileOutputStream;
  29. import java.io.IOException;
  30. import java.io.InputStream;
  31. import java.io.OutputStream;
  32. import java.net.ServerSocket;
  33. import java.net.Socket;
  34.  
  35. /**
  36.  * A fragment that manages a particular peer and allows interaction with device
  37.  * i.e. setting up network connection and transferring data.
  38.  */
  39. public class DeviceDetailFragment extends Fragment implements ConnectionInfoListener {
  40.  
  41. protected static final int CHOOSE_FILE_RESULT_CODE = 20;
  42. private View mContentView = null;
  43. private WifiP2pDevice device;
  44. private WifiP2pInfo info;
  45. ProgressDialog progressDialog = null;
  46. private static String fileName;
  47.  
  48. @Override
  49. public void onActivityCreated(Bundle savedInstanceState) {
  50. super.onActivityCreated(savedInstanceState);
  51. }
  52.  
  53. @Override
  54. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  55.  
  56. mContentView = inflater.inflate(R.layout.device_detail, null);
  57. mContentView.findViewById(R.id.btn_connect).setOnClickListener(new View.OnClickListener() {
  58.  
  59. @Override
  60. public void onClick(View v) {
  61. WifiP2pConfig config = new WifiP2pConfig();
  62. config.deviceAddress = device.deviceAddress;
  63. config.wps.setup = WpsInfo.PBC;
  64. config.groupOwnerIntent = 15;
  65. if (progressDialog != null && progressDialog.isShowing()) {
  66. progressDialog.dismiss();
  67. }
  68. progressDialog = ProgressDialog.show(getActivity(), "Press back to cancel",
  69. "Connecting to :" + device.deviceAddress, true, true
  70. // new DialogInterface.OnCancelListener() {
  71. //
  72. // @Override
  73. // public void onCancel(DialogInterface dialog) {
  74. // ((DeviceActionListener) getActivity()).cancelDisconnect();
  75. // }
  76. // }
  77. );
  78. ((DeviceActionListener) getActivity()).connect(config);
  79.  
  80. }
  81. });
  82.  
  83. mContentView.findViewById(R.id.btn_disconnect).setOnClickListener(
  84. new View.OnClickListener() {
  85.  
  86. @Override
  87. public void onClick(View v) {
  88. ((DeviceActionListener) getActivity()).disconnect();
  89. }
  90. });
  91.  
  92. mContentView.findViewById(R.id.btn_start_client).setOnClickListener(
  93. new View.OnClickListener() {
  94.  
  95. @Override
  96. public void onClick(View v) {
  97. // Allow user to pick an image from Gallery or other
  98. // registered apps
  99. Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
  100. intent.setType("image/*");
  101. startActivityForResult(intent, CHOOSE_FILE_RESULT_CODE);
  102. }
  103. });
  104.  
  105. return mContentView;
  106. }
  107.  
  108. @Override
  109. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  110.  
  111. // User has picked an image. Transfer it to group owner i.e peer using
  112. // FileTransferService.
  113.  
  114.  
  115. Uri uri = data.getData();
  116. File f = new File(uri.getPath());
  117. fileName = f.getName();
  118. TextView statusText = (TextView) mContentView.findViewById(R.id.status_text);
  119. statusText.setText("Sending: " + uri);
  120. Log.d(WiFiDirectActivity.TAG, "Intent----------- " + uri);
  121. Intent serviceIntent = new Intent(getActivity(), FileTransferService.class);
  122. serviceIntent.setAction(FileTransferService.ACTION_SEND_FILE);
  123. serviceIntent.putExtra(FileTransferService.EXTRAS_FILE_PATH, uri.toString());
  124. serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_ADDRESS,
  125. info.groupOwnerAddress.getHostAddress());
  126. serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_PORT, 8988);
  127. getActivity().startService(serviceIntent);
  128. }
  129.  
  130. @Override
  131. public void onConnectionInfoAvailable(final WifiP2pInfo info) {
  132. if (progressDialog != null && progressDialog.isShowing()) {
  133. progressDialog.dismiss();
  134. }
  135. this.info = info;
  136. this.getView().setVisibility(View.VISIBLE);
  137.  
  138. // The owner IP is now known.
  139. TextView view = (TextView) mContentView.findViewById(R.id.group_owner);
  140. view.setText(getResources().getString(R.string.group_owner_text)
  141. + ((info.isGroupOwner == true) ? getResources().getString(R.string.yes)
  142. : getResources().getString(R.string.no)));
  143.  
  144. // InetAddress from WifiP2pInfo struct.
  145. view = (TextView) mContentView.findViewById(R.id.device_info);
  146. view.setText("Group Owner IP - " + info.groupOwnerAddress.getHostAddress());
  147.  
  148. // After the group negotiation, we assign the group owner as the file
  149. // server. The file server is single threaded, single connection server
  150. // socket.
  151. if (info.groupFormed && info.isGroupOwner) {
  152. new FileServerAsyncTask(getActivity(), mContentView.findViewById(R.id.status_text))
  153. .execute();
  154. } else if (info.groupFormed) {
  155. // The other device acts as the client. In this case, we enable the
  156. // get file button.
  157. mContentView.findViewById(R.id.btn_start_client).setVisibility(View.VISIBLE);
  158. ((TextView) mContentView.findViewById(R.id.status_text)).setText(getResources()
  159. .getString(R.string.client_text));
  160. }
  161.  
  162. // hide the connect button
  163. mContentView.findViewById(R.id.btn_connect).setVisibility(View.GONE);
  164. }
  165.  
  166. /**
  167.   * Updates the UI with device data
  168.   *
  169.   * @param device the device to be displayed
  170.   */
  171. public void showDetails(WifiP2pDevice device) {
  172. this.device = device;
  173. this.getView().setVisibility(View.VISIBLE);
  174. TextView view = (TextView) mContentView.findViewById(R.id.device_address);
  175. view.setText(device.deviceAddress);
  176. view = (TextView) mContentView.findViewById(R.id.device_info);
  177. view.setText(device.toString());
  178.  
  179. }
  180.  
  181. /**
  182.   * Clears the UI fields after a disconnect or direct mode disable operation.
  183.   */
  184. public void resetViews() {
  185. mContentView.findViewById(R.id.btn_connect).setVisibility(View.VISIBLE);
  186. TextView view = (TextView) mContentView.findViewById(R.id.device_address);
  187. view.setText(R.string.empty);
  188. view = (TextView) mContentView.findViewById(R.id.device_info);
  189. view.setText(R.string.empty);
  190. view = (TextView) mContentView.findViewById(R.id.group_owner);
  191. view.setText(R.string.empty);
  192. view = (TextView) mContentView.findViewById(R.id.status_text);
  193. view.setText(R.string.empty);
  194. mContentView.findViewById(R.id.btn_start_client).setVisibility(View.GONE);
  195. this.getView().setVisibility(View.GONE);
  196. }
  197.  
  198. /**
  199.   * A simple server socket that accepts connection and writes some data on
  200.   * the stream.
  201.   */
  202. public static class FileServerAsyncTask extends AsyncTask<Void, Void, String> {
  203.  
  204. private Context context;
  205. private TextView statusText;
  206. //String FileName = "bundle.fileName";
  207.  
  208.  
  209. /**
  210.   * @param context
  211.   * @param statusText
  212.   */
  213. public FileServerAsyncTask(Context context, View statusText) {
  214. this.context = context;
  215. this.statusText = (TextView) statusText;
  216. }
  217.  
  218. @Override
  219. protected String doInBackground(Void... params) {
  220. try {
  221. ServerSocket serverSocket = new ServerSocket(8988);
  222. Log.d(WiFiDirectActivity.TAG, "Server: Socket opened");
  223. Socket client = serverSocket.accept();
  224. Log.d(WiFiDirectActivity.TAG, "Server: connection done");
  225. /*final File f = new File(Environment.getExternalStorageDirectory() + "/"
  226.   + "Wifidirect" + "/wifip2pshared-" + System.currentTimeMillis()
  227.   + ".jpg");*/
  228. final File f = new File(Environment.getExternalStorageDirectory() + "/"
  229. + "Wifidirect" + "/" + fileName);
  230.  
  231. File dirs = new File(f.getParent());
  232. if (!dirs.exists())
  233. dirs.mkdirs();
  234. f.createNewFile();
  235.  
  236. Log.d(WiFiDirectActivity.TAG, "server: copying files " + f.toString());
  237. InputStream inputstream = client.getInputStream();
  238. copyFile(inputstream, new FileOutputStream(f));
  239. serverSocket.close();
  240. return f.getAbsolutePath();
  241. } catch (IOException e) {
  242. Log.e(WiFiDirectActivity.TAG, e.getMessage());
  243. return null;
  244. }
  245. }
  246.  
  247. /*
  248.   * (non-Javadoc)
  249.   * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
  250.   */
  251. @Override
  252. protected void onPostExecute(String result) {
  253. if (result != null) {
  254. statusText.setText("File copied - " + result);
  255. Intent intent = new Intent();
  256. intent.setAction(android.content.Intent.ACTION_VIEW);
  257. intent.setDataAndType(Uri.parse("file://" + result), "image/*");
  258. context.startActivity(intent);
  259. }
  260.  
  261. }
  262.  
  263. /*
  264.   * (non-Javadoc)
  265.   * @see android.os.AsyncTask#onPreExecute()
  266.   */
  267. @Override
  268. protected void onPreExecute() {
  269. statusText.setText("Opening a server socket");
  270. }
  271.  
  272. }
  273.  
  274. public static boolean copyFile(InputStream inputStream, OutputStream out) {
  275. byte buf[] = new byte[1024];
  276. int len;
  277. try {
  278. while ((len = inputStream.read(buf)) != -1) {
  279. out.write(buf, 0, len);
  280.  
  281. }
  282. out.close();
  283. inputStream.close();
  284. } catch (IOException e) {
  285. Log.d(WiFiDirectActivity.TAG, e.toString());
  286. return false;
  287. }
  288. return true;
  289. }
  290.  
  291. }
  292.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:39: error: class DeviceDetailFragment is public, should be declared in a file named DeviceDetailFragment.java
public class DeviceDetailFragment extends Fragment implements ConnectionInfoListener {
       ^
Main.java:3: error: package android.app does not exist
import android.app.Fragment;
                  ^
Main.java:4: error: package android.app does not exist
import android.app.ProgressDialog;
                  ^
Main.java:5: error: package android.content does not exist
import android.content.Context;
                      ^
Main.java:6: error: package android.content does not exist
import android.content.DialogInterface;
                      ^
Main.java:7: error: package android.content does not exist
import android.content.Intent;
                      ^
Main.java:8: error: package android.net does not exist
import android.net.Uri;
                  ^
Main.java:9: error: package android.net.wifi does not exist
import android.net.wifi.WpsInfo;
                       ^
Main.java:10: error: package android.net.wifi.p2p does not exist
import android.net.wifi.p2p.WifiP2pConfig;
                           ^
Main.java:11: error: package android.net.wifi.p2p does not exist
import android.net.wifi.p2p.WifiP2pDevice;
                           ^
Main.java:12: error: package android.net.wifi.p2p does not exist
import android.net.wifi.p2p.WifiP2pInfo;
                           ^
Main.java:13: error: package android.net.wifi.p2p.WifiP2pManager does not exist
import android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener;
                                          ^
Main.java:14: error: package android.os does not exist
import android.os.AsyncTask;
                 ^
Main.java:15: error: package android.os does not exist
import android.os.Bundle;
                 ^
Main.java:16: error: package android.os does not exist
import android.os.Environment;
                 ^
Main.java:17: error: package android.util does not exist
import android.util.Log;
                   ^
Main.java:18: error: package android.view does not exist
import android.view.LayoutInflater;
                   ^
Main.java:19: error: package android.view does not exist
import android.view.View;
                   ^
Main.java:20: error: package android.view does not exist
import android.view.ViewGroup;
                   ^
Main.java:21: error: package android.webkit does not exist
import android.webkit.MimeTypeMap;
                     ^
Main.java:22: error: package android.widget does not exist
import android.widget.TextView;
                     ^
Main.java:23: error: package android.widget does not exist
import android.widget.Toast;
                     ^
Main.java:25: error: package com.example.android.wifidirect.DeviceListFragment does not exist
import com.example.android.wifidirect.DeviceListFragment.DeviceActionListener;
                                                        ^
Main.java:39: error: cannot find symbol
public class DeviceDetailFragment extends Fragment implements ConnectionInfoListener {
                                          ^
  symbol: class Fragment
Main.java:39: error: cannot find symbol
public class DeviceDetailFragment extends Fragment implements ConnectionInfoListener {
                                                              ^
  symbol: class ConnectionInfoListener
Main.java:42: error: cannot find symbol
    private View mContentView = null;
            ^
  symbol:   class View
  location: class DeviceDetailFragment
Main.java:43: error: cannot find symbol
    private WifiP2pDevice device;
            ^
  symbol:   class WifiP2pDevice
  location: class DeviceDetailFragment
Main.java:44: error: cannot find symbol
    private WifiP2pInfo info;
            ^
  symbol:   class WifiP2pInfo
  location: class DeviceDetailFragment
Main.java:45: error: cannot find symbol
    ProgressDialog progressDialog = null;
    ^
  symbol:   class ProgressDialog
  location: class DeviceDetailFragment
Main.java:49: error: cannot find symbol
    public void onActivityCreated(Bundle savedInstanceState) {
                                  ^
  symbol:   class Bundle
  location: class DeviceDetailFragment
Main.java:54: error: cannot find symbol
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                             ^
  symbol:   class LayoutInflater
  location: class DeviceDetailFragment
Main.java:54: error: cannot find symbol
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                                                      ^
  symbol:   class ViewGroup
  location: class DeviceDetailFragment
Main.java:54: error: cannot find symbol
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                                                                           ^
  symbol:   class Bundle
  location: class DeviceDetailFragment
Main.java:54: error: cannot find symbol
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
           ^
  symbol:   class View
  location: class DeviceDetailFragment
Main.java:109: error: cannot find symbol
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
                                                                  ^
  symbol:   class Intent
  location: class DeviceDetailFragment
Main.java:131: error: cannot find symbol
    public void onConnectionInfoAvailable(final WifiP2pInfo info) {
                                                ^
  symbol:   class WifiP2pInfo
  location: class DeviceDetailFragment
Main.java:171: error: cannot find symbol
    public void showDetails(WifiP2pDevice device) {
                            ^
  symbol:   class WifiP2pDevice
  location: class DeviceDetailFragment
Main.java:202: error: cannot find symbol
    public static class FileServerAsyncTask extends AsyncTask<Void, Void, String> {
                                                    ^
  symbol:   class AsyncTask
  location: class DeviceDetailFragment
Main.java:204: error: cannot find symbol
        private Context context;
                ^
  symbol:   class Context
  location: class FileServerAsyncTask
Main.java:205: error: cannot find symbol
        private TextView statusText;
                ^
  symbol:   class TextView
  location: class FileServerAsyncTask
Main.java:213: error: cannot find symbol
        public FileServerAsyncTask(Context context, View statusText) {
                                   ^
  symbol:   class Context
  location: class FileServerAsyncTask
Main.java:213: error: cannot find symbol
        public FileServerAsyncTask(Context context, View statusText) {
                                                    ^
  symbol:   class View
  location: class FileServerAsyncTask
Main.java:50: error: cannot find symbol
        super.onActivityCreated(savedInstanceState);
        ^
  symbol:   variable super
  location: class DeviceDetailFragment
Main.java:48: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:56: error: package R does not exist
        mContentView = inflater.inflate(R.layout.device_detail, null);
                                         ^
Main.java:57: error: package View does not exist
        mContentView.findViewById(R.id.btn_connect).setOnClickListener(new View.OnClickListener() {
                                                                               ^
Main.java:57: error: package R does not exist
        mContentView.findViewById(R.id.btn_connect).setOnClickListener(new View.OnClickListener() {
                                   ^
Main.java:84: error: package View does not exist
                new View.OnClickListener() {
                        ^
Main.java:83: error: package R does not exist
        mContentView.findViewById(R.id.btn_disconnect).setOnClickListener(
                                   ^
Main.java:93: error: package View does not exist
                new View.OnClickListener() {
                        ^
Main.java:92: error: package R does not exist
        mContentView.findViewById(R.id.btn_start_client).setOnClickListener(
                                   ^
Main.java:53: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:115: error: cannot find symbol
        Uri uri = data.getData();
        ^
  symbol:   class Uri
  location: class DeviceDetailFragment
Main.java:118: error: cannot find symbol
        TextView statusText = (TextView) mContentView.findViewById(R.id.status_text);
        ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:118: error: cannot find symbol
        TextView statusText = (TextView) mContentView.findViewById(R.id.status_text);
                               ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:118: error: package R does not exist
        TextView statusText = (TextView) mContentView.findViewById(R.id.status_text);
                                                                    ^
Main.java:120: error: cannot find symbol
        Log.d(WiFiDirectActivity.TAG, "Intent----------- " + uri);
              ^
  symbol:   variable WiFiDirectActivity
  location: class DeviceDetailFragment
Main.java:120: error: cannot find symbol
        Log.d(WiFiDirectActivity.TAG, "Intent----------- " + uri);
        ^
  symbol:   variable Log
  location: class DeviceDetailFragment
Main.java:121: error: cannot find symbol
        Intent serviceIntent = new Intent(getActivity(), FileTransferService.class);
        ^
  symbol:   class Intent
  location: class DeviceDetailFragment
Main.java:121: error: cannot find symbol
        Intent serviceIntent = new Intent(getActivity(), FileTransferService.class);
                                   ^
  symbol:   class Intent
  location: class DeviceDetailFragment
Main.java:121: error: cannot find symbol
        Intent serviceIntent = new Intent(getActivity(), FileTransferService.class);
                                          ^
  symbol:   method getActivity()
  location: class DeviceDetailFragment
Main.java:121: error: cannot find symbol
        Intent serviceIntent = new Intent(getActivity(), FileTransferService.class);
                                                         ^
  symbol:   class FileTransferService
  location: class DeviceDetailFragment
Main.java:122: error: cannot find symbol
        serviceIntent.setAction(FileTransferService.ACTION_SEND_FILE);
                                ^
  symbol:   variable FileTransferService
  location: class DeviceDetailFragment
Main.java:123: error: cannot find symbol
        serviceIntent.putExtra(FileTransferService.EXTRAS_FILE_PATH, uri.toString());
                               ^
  symbol:   variable FileTransferService
  location: class DeviceDetailFragment
Main.java:124: error: cannot find symbol
        serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_ADDRESS,
                               ^
  symbol:   variable FileTransferService
  location: class DeviceDetailFragment
Main.java:126: error: cannot find symbol
        serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_PORT, 8988);
                               ^
  symbol:   variable FileTransferService
  location: class DeviceDetailFragment
Main.java:127: error: cannot find symbol
        getActivity().startService(serviceIntent);
        ^
  symbol:   method getActivity()
  location: class DeviceDetailFragment
Main.java:108: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:136: error: cannot find symbol
        this.getView().setVisibility(View.VISIBLE);
                                     ^
  symbol:   variable View
  location: class DeviceDetailFragment
Main.java:136: error: cannot find symbol
        this.getView().setVisibility(View.VISIBLE);
            ^
  symbol: method getView()
Main.java:139: error: cannot find symbol
        TextView view = (TextView) mContentView.findViewById(R.id.group_owner);
        ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:139: error: cannot find symbol
        TextView view = (TextView) mContentView.findViewById(R.id.group_owner);
                         ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:139: error: package R does not exist
        TextView view = (TextView) mContentView.findViewById(R.id.group_owner);
                                                              ^
Main.java:140: error: package R does not exist
        view.setText(getResources().getString(R.string.group_owner_text)
                                               ^
Main.java:140: error: cannot find symbol
        view.setText(getResources().getString(R.string.group_owner_text)
                     ^
  symbol:   method getResources()
  location: class DeviceDetailFragment
Main.java:141: error: package R does not exist
                + ((info.isGroupOwner == true) ? getResources().getString(R.string.yes)
                                                                           ^
Main.java:141: error: cannot find symbol
                + ((info.isGroupOwner == true) ? getResources().getString(R.string.yes)
                                                 ^
  symbol:   method getResources()
  location: class DeviceDetailFragment
Main.java:142: error: package R does not exist
                        : getResources().getString(R.string.no)));
                                                    ^
Main.java:142: error: cannot find symbol
                        : getResources().getString(R.string.no)));
                          ^
  symbol:   method getResources()
  location: class DeviceDetailFragment
Main.java:145: error: cannot find symbol
        view = (TextView) mContentView.findViewById(R.id.device_info);
                ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:145: error: package R does not exist
        view = (TextView) mContentView.findViewById(R.id.device_info);
                                                     ^
Main.java:152: error: cannot find symbol
            new FileServerAsyncTask(getActivity(), mContentView.findViewById(R.id.status_text))
                                    ^
  symbol:   method getActivity()
  location: class DeviceDetailFragment
Main.java:152: error: package R does not exist
            new FileServerAsyncTask(getActivity(), mContentView.findViewById(R.id.status_text))
                                                                              ^
Main.java:153: error: cannot find symbol
                    .execute();
                    ^
  symbol:   method execute()
  location: class FileServerAsyncTask
Main.java:157: error: cannot find symbol
            mContentView.findViewById(R.id.btn_start_client).setVisibility(View.VISIBLE);
                                                                           ^
  symbol:   variable View
  location: class DeviceDetailFragment
Main.java:157: error: package R does not exist
            mContentView.findViewById(R.id.btn_start_client).setVisibility(View.VISIBLE);
                                       ^
Main.java:159: error: package R does not exist
                    .getString(R.string.client_text));
                                ^
Main.java:158: error: cannot find symbol
            ((TextView) mContentView.findViewById(R.id.status_text)).setText(getResources()
                                                                             ^
  symbol:   method getResources()
  location: class DeviceDetailFragment
Main.java:158: error: cannot find symbol
            ((TextView) mContentView.findViewById(R.id.status_text)).setText(getResources()
              ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:158: error: package R does not exist
            ((TextView) mContentView.findViewById(R.id.status_text)).setText(getResources()
                                                   ^
Main.java:163: error: cannot find symbol
        mContentView.findViewById(R.id.btn_connect).setVisibility(View.GONE);
                                                                  ^
  symbol:   variable View
  location: class DeviceDetailFragment
Main.java:163: error: package R does not exist
        mContentView.findViewById(R.id.btn_connect).setVisibility(View.GONE);
                                   ^
Main.java:130: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:173: error: cannot find symbol
        this.getView().setVisibility(View.VISIBLE);
                                     ^
  symbol:   variable View
  location: class DeviceDetailFragment
Main.java:173: error: cannot find symbol
        this.getView().setVisibility(View.VISIBLE);
            ^
  symbol: method getView()
Main.java:174: error: cannot find symbol
        TextView view = (TextView) mContentView.findViewById(R.id.device_address);
        ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:174: error: cannot find symbol
        TextView view = (TextView) mContentView.findViewById(R.id.device_address);
                         ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:174: error: package R does not exist
        TextView view = (TextView) mContentView.findViewById(R.id.device_address);
                                                              ^
Main.java:176: error: cannot find symbol
        view = (TextView) mContentView.findViewById(R.id.device_info);
                ^
  symbol:   class TextView
  location: class DeviceDetailFragment
Main.java:176: error: package R does not exist
        view = (TextView) mContentView.findViewById(R.id.device_info);
                                                     ^
100 errors
stdout
Standard output is empty