List of usage examples for android.os StrictMode getThreadPolicy
public static ThreadPolicy getThreadPolicy()
From source file:com.vuze.android.remote.rpc.RPC.java
@TargetApi(Build.VERSION_CODES.GINGERBREAD) private static Object enableNasty() { ThreadPolicy oldThreadPolicy = StrictMode.getThreadPolicy(); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitNetwork().build(); StrictMode.setThreadPolicy(policy);/*from w ww .j a v a 2 s .com*/ return oldThreadPolicy; }
From source file:com.footprint.cordova.plugin.localnotification.Options.java
/** * Converts an Image URL to Bitmap.//from w w w . j a va2 s . co m * * @param src * The external image URL * @return * The corresponding bitmap */ private Bitmap getIconFromURL(String src) { Bitmap bmp = null; ThreadPolicy origMode = StrictMode.getThreadPolicy(); try { URL url = new URL(src); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); connection.setDoInput(true); connection.connect(); InputStream input = connection.getInputStream(); bmp = BitmapFactory.decodeStream(input); } catch (Exception e) { e.printStackTrace(); } StrictMode.setThreadPolicy(origMode); return bmp; }
From source file:android.webkit.cts.WebViewTest.java
private void stopWebServer() throws Exception { assertNotNull(mWebServer);//w ww .j a va2 s . c om ThreadPolicy oldPolicy = StrictMode.getThreadPolicy(); ThreadPolicy tmpPolicy = new ThreadPolicy.Builder(oldPolicy).permitNetwork().build(); StrictMode.setThreadPolicy(tmpPolicy); mWebServer.shutdown(); mWebServer = null; StrictMode.setThreadPolicy(oldPolicy); }
From source file:com.android.strictmodetest.StrictModeActivity.java
/** Called when the activity is first created. */ @Override/*from w w w.ja v a2 s . c o m*/ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); cr = getContentResolver(); final SQLiteDatabase db = openOrCreateDatabase("foo.db", MODE_PRIVATE, null); final Button readButton = (Button) findViewById(R.id.read_button); readButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Cursor c = null; try { c = db.rawQuery("SELECT * FROM foo", null); } finally { if (c != null) c.close(); } } }); final Button writeButton = (Button) findViewById(R.id.write_button); writeButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { db.execSQL("CREATE TABLE IF NOT EXISTS FOO (a INT)"); } }); final Button writeLoopButton = (Button) findViewById(R.id.write_loop_button); writeLoopButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { long startTime = SystemClock.uptimeMillis(); int iters = 1000; BlockGuard.Policy policy = BlockGuard.getThreadPolicy(); for (int i = 0; i < iters; ++i) { policy.onWriteToDisk(); } long endTime = SystemClock.uptimeMillis(); Log.d(TAG, "Time for " + iters + ": " + (endTime - startTime) + ", avg=" + (endTime - startTime) / (double) iters); } }); final Button dnsButton = (Button) findViewById(R.id.dns_button); dnsButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.d(TAG, "Doing DNS lookup for www.l.google.com... " + "(may be cached by InetAddress)"); try { InetAddress[] addrs = InetAddress.getAllByName("www.l.google.com"); for (int i = 0; i < addrs.length; ++i) { Log.d(TAG, "got: " + addrs[i]); } } catch (java.net.UnknownHostException e) { Log.d(TAG, "DNS error: " + e); } } }); final Button httpButton = (Button) findViewById(R.id.http_button); httpButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { // Note: not using AndroidHttpClient, as that comes with its // own pre-StrictMode network-on-Looper thread check. The // intent of this test is that we test the network stack's // instrumentation for StrictMode instead. DefaultHttpClient httpClient = new DefaultHttpClient(); HttpResponse res = httpClient.execute(new HttpGet("http://www.android.com/favicon.ico")); Log.d(TAG, "Fetched http response: " + res); } catch (IOException e) { Log.d(TAG, "HTTP fetch error: " + e); } } }); final Button http2Button = (Button) findViewById(R.id.http2_button); http2Button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { // Usually this ends up tripping in DNS resolution, // so see http3Button below, which connects directly to an IP InputStream is = new URL("http://www.android.com/").openConnection().getInputStream(); Log.d(TAG, "Got input stream: " + is); } catch (IOException e) { Log.d(TAG, "HTTP fetch error: " + e); } } }); final Button http3Button = (Button) findViewById(R.id.http3_button); http3Button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { // One of Google's web IPs, as of 2010-06-16.... InputStream is = new URL("http://74.125.19.14/").openConnection().getInputStream(); Log.d(TAG, "Got input stream: " + is); } catch (IOException e) { Log.d(TAG, "HTTP fetch error: " + e); } } }); final Button binderLocalButton = (Button) findViewById(R.id.binder_local_button); binderLocalButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { boolean value = mLocalServiceConn.stub.doDiskWrite(123 /* dummy */); Log.d(TAG, "local writeToDisk returned: " + value); } catch (RemoteException e) { Log.d(TAG, "local binderButton error: " + e); } } }); final Button binderRemoteButton = (Button) findViewById(R.id.binder_remote_button); binderRemoteButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { boolean value = mRemoteServiceConn.stub.doDiskWrite(1); Log.d(TAG, "remote writeToDisk #1 returned: " + value); value = mRemoteServiceConn.stub.doDiskWrite(2); Log.d(TAG, "remote writeToDisk #2 returned: " + value); } catch (RemoteException e) { Log.d(TAG, "remote binderButton error: " + e); } } }); final Button binderOneWayButton = (Button) findViewById(R.id.binder_oneway_button); binderOneWayButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { Log.d(TAG, "doing oneway disk write over Binder."); mRemoteServiceConn.stub.doDiskOneWay(); } catch (RemoteException e) { Log.d(TAG, "remote binderButton error: " + e); } } }); final Button binderCheckButton = (Button) findViewById(R.id.binder_check_button); binderCheckButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { int policy; try { policy = mLocalServiceConn.stub.getThreadPolicy(); Log.d(TAG, "local service policy: " + policy); policy = mRemoteServiceConn.stub.getThreadPolicy(); Log.d(TAG, "remote service policy: " + policy); } catch (RemoteException e) { Log.d(TAG, "binderCheckButton error: " + e); } } }); final Button serviceDumpButton = (Button) findViewById(R.id.service_dump); serviceDumpButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.d(TAG, "About to do a service dump..."); File file = new File("/sdcard/strictmode-service-dump.txt"); FileOutputStream output = null; final StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy(); try { StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.LAX); output = new FileOutputStream(file); StrictMode.setThreadPolicy(oldPolicy); boolean dumped = Debug.dumpService("cpuinfo", output.getFD(), new String[0]); Log.d(TAG, "Dumped = " + dumped); } catch (IOException e) { Log.e(TAG, "Can't dump service", e); } finally { StrictMode.setThreadPolicy(oldPolicy); } Log.d(TAG, "Did service dump."); } }); final Button lingerCloseButton = (Button) findViewById(R.id.linger_close_button); lingerCloseButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { closeWithLinger(true); } }); final Button nonlingerCloseButton = (Button) findViewById(R.id.nonlinger_close_button); nonlingerCloseButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { closeWithLinger(false); } }); final Button leakCursorButton = (Button) findViewById(R.id.leak_cursor_button); leakCursorButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { final StrictMode.VmPolicy oldPolicy = StrictMode.getVmPolicy(); try { StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects() .penaltyLog().penaltyDropBox().build()); db.execSQL("CREATE TABLE IF NOT EXISTS FOO (a INT)"); Cursor c = db.rawQuery("SELECT * FROM foo", null); c = null; // never close it Runtime.getRuntime().gc(); } finally { StrictMode.setVmPolicy(oldPolicy); } } }); final CheckBox checkNoWrite = (CheckBox) findViewById(R.id.policy_no_write); final CheckBox checkNoRead = (CheckBox) findViewById(R.id.policy_no_reads); final CheckBox checkNoNetwork = (CheckBox) findViewById(R.id.policy_no_network); final CheckBox checkPenaltyLog = (CheckBox) findViewById(R.id.policy_penalty_log); final CheckBox checkPenaltyDialog = (CheckBox) findViewById(R.id.policy_penalty_dialog); final CheckBox checkPenaltyDeath = (CheckBox) findViewById(R.id.policy_penalty_death); final CheckBox checkPenaltyDropBox = (CheckBox) findViewById(R.id.policy_penalty_dropbox); View.OnClickListener changePolicy = new View.OnClickListener() { public void onClick(View v) { StrictMode.ThreadPolicy.Builder newPolicy = new StrictMode.ThreadPolicy.Builder(); if (checkNoWrite.isChecked()) newPolicy.detectDiskWrites(); if (checkNoRead.isChecked()) newPolicy.detectDiskReads(); if (checkNoNetwork.isChecked()) newPolicy.detectNetwork(); if (checkPenaltyLog.isChecked()) newPolicy.penaltyLog(); if (checkPenaltyDialog.isChecked()) newPolicy.penaltyDialog(); if (checkPenaltyDeath.isChecked()) newPolicy.penaltyDeath(); if (checkPenaltyDropBox.isChecked()) newPolicy.penaltyDropBox(); StrictMode.ThreadPolicy policy = newPolicy.build(); Log.v(TAG, "Changing policy to: " + policy); StrictMode.setThreadPolicy(policy); } }; checkNoWrite.setOnClickListener(changePolicy); checkNoRead.setOnClickListener(changePolicy); checkNoNetwork.setOnClickListener(changePolicy); checkPenaltyLog.setOnClickListener(changePolicy); checkPenaltyDialog.setOnClickListener(changePolicy); checkPenaltyDeath.setOnClickListener(changePolicy); checkPenaltyDropBox.setOnClickListener(changePolicy); }