| OLD | NEW |
| 1 // Copyright 2015 Google Inc. All Rights Reserved. | 1 // Copyright 2015 Google Inc. All Rights Reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 // See the License for the specific language governing permissions and | 12 // See the License for the specific language governing permissions and |
| 13 // limitations under the License. | 13 // limitations under the License. |
| 14 | 14 |
| 15 package org.chromium.customtabsclient; | 15 package org.chromium.customtabsclient; |
| 16 | 16 |
| 17 import android.app.Activity; | 17 import android.app.Activity; |
| 18 import android.app.ActivityManager; | 18 import android.app.ActivityManager; |
| 19 import android.app.ActivityOptions; | 19 import android.app.ActivityOptions; |
| 20 import android.app.PendingIntent; | 20 import android.app.PendingIntent; |
| 21 import android.content.BroadcastReceiver; |
| 22 import android.content.Context; |
| 21 import android.content.Intent; | 23 import android.content.Intent; |
| 24 import android.content.IntentFilter; |
| 22 import android.content.pm.PackageManager; | 25 import android.content.pm.PackageManager; |
| 23 import android.content.pm.ResolveInfo; | 26 import android.content.pm.ResolveInfo; |
| 24 import android.graphics.Bitmap; | 27 import android.graphics.Bitmap; |
| 25 import android.graphics.BitmapFactory; | 28 import android.graphics.BitmapFactory; |
| 26 import android.graphics.Color; | 29 import android.graphics.Color; |
| 27 import android.media.MediaPlayer; | 30 import android.media.MediaPlayer; |
| 28 import android.net.Uri; | 31 import android.net.Uri; |
| 29 import android.os.Bundle; | 32 import android.os.Bundle; |
| 30 import android.os.Handler; | 33 import android.os.Handler; |
| 31 import android.os.Looper; | 34 import android.os.Looper; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 43 import android.view.View; | 46 import android.view.View; |
| 44 import android.view.View.OnClickListener; | 47 import android.view.View.OnClickListener; |
| 45 import android.view.View.OnLongClickListener; | 48 import android.view.View.OnLongClickListener; |
| 46 import android.view.ViewGroup; | 49 import android.view.ViewGroup; |
| 47 import android.widget.AdapterView; | 50 import android.widget.AdapterView; |
| 48 import android.widget.ArrayAdapter; | 51 import android.widget.ArrayAdapter; |
| 49 import android.widget.Button; | 52 import android.widget.Button; |
| 50 import android.widget.EditText; | 53 import android.widget.EditText; |
| 51 import android.widget.Spinner; | 54 import android.widget.Spinner; |
| 52 import android.widget.TextView; | 55 import android.widget.TextView; |
| 56 import android.widget.Toast; |
| 53 | 57 |
| 54 import org.chromium.customtabsclient.shared.CustomTabsHelper; | 58 import org.chromium.customtabsclient.shared.CustomTabsHelper; |
| 55 import org.chromium.customtabsclient.shared.ServiceConnection; | 59 import org.chromium.customtabsclient.shared.ServiceConnection; |
| 56 import org.chromium.customtabsclient.shared.ServiceConnectionCallback; | 60 import org.chromium.customtabsclient.shared.ServiceConnectionCallback; |
| 57 | 61 |
| 58 import java.util.ArrayList; | 62 import java.util.ArrayList; |
| 59 import java.util.List; | 63 import java.util.List; |
| 60 | 64 |
| 61 /** | 65 /** |
| 62 * Example client activity for using Chrome Custom Tabs. | 66 * Example client activity for using Chrome Custom Tabs. |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawabl
e.ic_launcher); | 261 Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawabl
e.ic_launcher); |
| 258 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); | 262 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); |
| 259 PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, int
ent, 0); | 263 PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, int
ent, 0); |
| 260 BrowserActionItem item = | 264 BrowserActionItem item = |
| 261 new BrowserActionItem("Open the link (without icon)", pendin
gIntent); | 265 new BrowserActionItem("Open the link (without icon)", pendin
gIntent); |
| 262 BrowserActionItem item2 = | 266 BrowserActionItem item2 = |
| 263 new BrowserActionItem("Open the link (with icon)", pendingIn
tent, icon); | 267 new BrowserActionItem("Open the link (with icon)", pendingIn
tent, icon); |
| 264 ArrayList<BrowserActionItem> items = new ArrayList<>(); | 268 ArrayList<BrowserActionItem> items = new ArrayList<>(); |
| 265 items.add(item); | 269 items.add(item); |
| 266 items.add(item2); | 270 items.add(item2); |
| 267 BrowserActionsIntent.openBrowserAction(this, Uri.parse(url), | 271 Intent defaultIntent = new Intent(); |
| 268 BrowserActionsIntent.URL_TYPE_IMAGE, items); | 272 defaultIntent.setClass(getApplicationContext(), BrowserActionsReceiv
er.class); |
| 273 PendingIntent defaultAction = PendingIntent.getBroadcast(this, 0, de
faultIntent, 0); |
| 274 BrowserActionsIntent.openBrowserAction( |
| 275 this, Uri.parse(url), BrowserActionsIntent.URL_TYPE_NONE, it
ems, defaultAction); |
| 269 } | 276 } |
| 270 } | 277 } |
| 271 | 278 |
| 272 private void prepareMenuItems(CustomTabsIntent.Builder builder) { | 279 private void prepareMenuItems(CustomTabsIntent.Builder builder) { |
| 273 Intent menuIntent = new Intent(); | 280 Intent menuIntent = new Intent(); |
| 274 menuIntent.setClass(getApplicationContext(), this.getClass()); | 281 menuIntent.setClass(getApplicationContext(), this.getClass()); |
| 275 // Optional animation configuration when the user clicks menu items. | 282 // Optional animation configuration when the user clicks menu items. |
| 276 Bundle menuBundle = ActivityOptions.makeCustomAnimation(this, android.R.
anim.slide_in_left, | 283 Bundle menuBundle = ActivityOptions.makeCustomAnimation(this, android.R.
anim.slide_in_left, |
| 277 android.R.anim.slide_out_right).toBundle(); | 284 android.R.anim.slide_out_right).toBundle(); |
| 278 PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,
menuIntent, 0, | 285 PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,
menuIntent, 0, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 308 | 315 |
| 309 @Override | 316 @Override |
| 310 public void onServiceDisconnected() { | 317 public void onServiceDisconnected() { |
| 311 mConnectButton.setEnabled(true); | 318 mConnectButton.setEnabled(true); |
| 312 mWarmupButton.setEnabled(false); | 319 mWarmupButton.setEnabled(false); |
| 313 mMayLaunchButton.setEnabled(false); | 320 mMayLaunchButton.setEnabled(false); |
| 314 mLaunchButton.setEnabled(false); | 321 mLaunchButton.setEnabled(false); |
| 315 mClient = null; | 322 mClient = null; |
| 316 } | 323 } |
| 317 } | 324 } |
| OLD | NEW |