Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappInfo.java

Issue 1989283002: Upstream: Launch WebApkActivity from WebAPK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.webapps; 5 package org.chromium.chrome.browser.webapps;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.net.Uri; 9 import android.net.Uri;
10 import android.util.Log; 10 import android.util.Log;
(...skipping 14 matching lines...) Expand all
25 private Bitmap mDecodedIcon; 25 private Bitmap mDecodedIcon;
26 private Uri mUri; 26 private Uri mUri;
27 private String mName; 27 private String mName;
28 private String mShortName; 28 private String mShortName;
29 private int mDisplayMode; 29 private int mDisplayMode;
30 private int mOrientation; 30 private int mOrientation;
31 private int mSource; 31 private int mSource;
32 private long mThemeColor; 32 private long mThemeColor;
33 private long mBackgroundColor; 33 private long mBackgroundColor;
34 private boolean mIsIconGenerated; 34 private boolean mIsIconGenerated;
35 private String mWebApkPackageName;
35 36
36 public static WebappInfo createEmpty() { 37 public static WebappInfo createEmpty() {
37 return new WebappInfo(); 38 return new WebappInfo();
38 } 39 }
39 40
40 private static String titleFromIntent(Intent intent) { 41 private static String titleFromIntent(Intent intent) {
41 // The reference to title has been kept for reasons of backward compatib ility. For intents 42 // The reference to title has been kept for reasons of backward compatib ility. For intents
42 // and shortcuts which were created before we utilized the concept of na me and shortName, 43 // and shortcuts which were created before we utilized the concept of na me and shortName,
43 // we set the name and shortName to be the title. 44 // we set the name and shortName to be the title.
44 String title = IntentUtils.safeGetStringExtra(intent, ShortcutHelper.EXT RA_TITLE); 45 String title = IntentUtils.safeGetStringExtra(intent, ShortcutHelper.EXT RA_TITLE);
(...skipping 28 matching lines...) Expand all
73 ShortcutHelper.EXTRA_THEME_COLOR, 74 ShortcutHelper.EXTRA_THEME_COLOR,
74 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING); 75 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING);
75 long backgroundColor = IntentUtils.safeGetLongExtra(intent, 76 long backgroundColor = IntentUtils.safeGetLongExtra(intent,
76 ShortcutHelper.EXTRA_BACKGROUND_COLOR, 77 ShortcutHelper.EXTRA_BACKGROUND_COLOR,
77 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING); 78 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING);
78 boolean isIconGenerated = IntentUtils.safeGetBooleanExtra(intent, 79 boolean isIconGenerated = IntentUtils.safeGetBooleanExtra(intent,
79 ShortcutHelper.EXTRA_IS_ICON_GENERATED, false); 80 ShortcutHelper.EXTRA_IS_ICON_GENERATED, false);
80 81
81 String name = nameFromIntent(intent); 82 String name = nameFromIntent(intent);
82 String shortName = shortNameFromIntent(intent); 83 String shortName = shortNameFromIntent(intent);
84 String webApkPackageName = IntentUtils.safeGetStringExtra(intent,
85 ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME);
83 86
84 return create(id, url, icon, name, shortName, displayMode, orientation, source, 87 return create(id, url, icon, name, shortName, displayMode, orientation, source,
85 themeColor, backgroundColor, isIconGenerated); 88 themeColor, backgroundColor, isIconGenerated, webApkPackageName) ;
86 } 89 }
87 90
88 /** 91 /**
89 * Construct a WebappInfo. 92 * Construct a WebappInfo.
90 * @param id ID for the webapp. 93 * @param id ID for the webapp.
91 * @param url URL for the webapp. 94 * @param url URL for the webapp.
92 * @param icon Icon to show for the webapp. 95 * @param icon Icon to show for the webapp.
93 * @param name Name of the webapp. 96 * @param name Name of the webapp.
94 * @param shortName The short name of the webapp. 97 * @param shortName The short name of the webapp.
95 * @param displayMode Display mode of the webapp. 98 * @param displayMode Display mode of the webapp.
96 * @param orientation Orientation of the webapp. 99 * @param orientation Orientation of the webapp.
97 * @param source Source where the webapp was added from. 100 * @param source Source where the webapp was added from.
98 * @param themeColor The theme color of the webapp. 101 * @param themeColor The theme color of the webapp.
99 * @param isIconGenerated Whether the |icon| was generated by Chromium. 102 * @param isIconGenerated Whether the |icon| was generated by Chromium.
103 * @param webApkPackageName The package of the WebAPK associated with the we bapp. Null if
104 * no WebAPK is associated with the webapp.
100 */ 105 */
101 public static WebappInfo create(String id, String url, String icon, String n ame, 106 public static WebappInfo create(String id, String url, String icon, String n ame,
102 String shortName, int displayMode, int orientation, int source, long themeColor, 107 String shortName, int displayMode, int orientation, int source, long themeColor,
103 long backgroundColor, boolean isIconGenerated) { 108 long backgroundColor, boolean isIconGenerated, String webApkPackageN ame) {
104 if (id == null || url == null) { 109 if (id == null || url == null) {
105 Log.e("WebappInfo", "Data passed in was incomplete: " + id + ", " + url); 110 Log.e("WebappInfo", "Data passed in was incomplete: " + id + ", " + url);
106 return null; 111 return null;
107 } 112 }
108 113
109 Uri uri = Uri.parse(url); 114 Uri uri = Uri.parse(url);
110 return new WebappInfo(id, uri, icon, name, shortName, displayMode, orien tation, source, 115 return new WebappInfo(id, uri, icon, name, shortName, displayMode, orien tation, source,
111 themeColor, backgroundColor, isIconGenerated); 116 themeColor, backgroundColor, isIconGenerated, webApkPackageName) ;
112 } 117 }
113 118
114 private WebappInfo(String id, Uri uri, String encodedIcon, String name, Stri ng shortName, 119 private WebappInfo(String id, Uri uri, String encodedIcon, String name, Stri ng shortName,
115 int displayMode, int orientation, int source, long themeColor, 120 int displayMode, int orientation, int source, long themeColor,
116 long backgroundColor, boolean isIconGenerated) { 121 long backgroundColor, boolean isIconGenerated, String webApkPackageN ame) {
117 mEncodedIcon = encodedIcon; 122 mEncodedIcon = encodedIcon;
118 mId = id; 123 mId = id;
119 mName = name; 124 mName = name;
120 mShortName = shortName; 125 mShortName = shortName;
121 mUri = uri; 126 mUri = uri;
122 mDisplayMode = displayMode; 127 mDisplayMode = displayMode;
123 mOrientation = orientation; 128 mOrientation = orientation;
124 mSource = source; 129 mSource = source;
125 mThemeColor = themeColor; 130 mThemeColor = themeColor;
126 mBackgroundColor = backgroundColor; 131 mBackgroundColor = backgroundColor;
127 mIsIconGenerated = isIconGenerated; 132 mIsIconGenerated = isIconGenerated;
128 mIsInitialized = mUri != null; 133 mIsInitialized = mUri != null;
134 mWebApkPackageName = webApkPackageName;
129 } 135 }
130 136
131 private WebappInfo() { 137 private WebappInfo() {
132 } 138 }
133 139
134 public boolean isInitialized() { 140 public boolean isInitialized() {
135 return mIsInitialized; 141 return mIsInitialized;
136 } 142 }
137 143
138 public String id() { 144 public String id() {
139 return mId; 145 return mId;
140 } 146 }
141 147
142 public Uri uri() { 148 public Uri uri() {
143 return mUri; 149 return mUri;
144 } 150 }
145 151
146 public String name() { 152 public String name() {
147 return mName; 153 return mName;
148 } 154 }
149 155
150 public String shortName() { 156 public String shortName() {
151 return mShortName; 157 return mShortName;
152 } 158 }
153 159
154 public int displayMode() { 160 public int displayMode() {
155 return mDisplayMode; 161 return mDisplayMode;
156 } 162 }
157 163
164 public String webApkPackageName() {
165 return mWebApkPackageName;
166 }
167
158 public int orientation() { 168 public int orientation() {
159 return mOrientation; 169 return mOrientation;
160 } 170 }
161 171
162 public int source() { 172 public int source() {
163 return mSource; 173 return mSource;
164 } 174 }
165 175
166 /** 176 /**
167 * Theme color is actually a 32 bit unsigned integer which encodes a color 177 * Theme color is actually a 32 bit unsigned integer which encodes a color
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 intent.putExtra(ShortcutHelper.EXTRA_ICON, encodedIcon()); 249 intent.putExtra(ShortcutHelper.EXTRA_ICON, encodedIcon());
240 intent.putExtra(ShortcutHelper.EXTRA_VERSION, ShortcutHelper.WEBAPP_SHOR TCUT_VERSION); 250 intent.putExtra(ShortcutHelper.EXTRA_VERSION, ShortcutHelper.WEBAPP_SHOR TCUT_VERSION);
241 intent.putExtra(ShortcutHelper.EXTRA_NAME, name()); 251 intent.putExtra(ShortcutHelper.EXTRA_NAME, name());
242 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName()); 252 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName());
243 intent.putExtra(ShortcutHelper.EXTRA_DISPLAY_MODE, displayMode()); 253 intent.putExtra(ShortcutHelper.EXTRA_DISPLAY_MODE, displayMode());
244 intent.putExtra(ShortcutHelper.EXTRA_ORIENTATION, orientation()); 254 intent.putExtra(ShortcutHelper.EXTRA_ORIENTATION, orientation());
245 intent.putExtra(ShortcutHelper.EXTRA_SOURCE, source()); 255 intent.putExtra(ShortcutHelper.EXTRA_SOURCE, source());
246 intent.putExtra(ShortcutHelper.EXTRA_THEME_COLOR, themeColor()); 256 intent.putExtra(ShortcutHelper.EXTRA_THEME_COLOR, themeColor());
247 intent.putExtra(ShortcutHelper.EXTRA_BACKGROUND_COLOR, backgroundColor() ); 257 intent.putExtra(ShortcutHelper.EXTRA_BACKGROUND_COLOR, backgroundColor() );
248 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, isIconGenerated( )); 258 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, isIconGenerated( ));
259 if (webApkPackageName() != null) {
260 intent.putExtra(ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME, webApkPack ageName());
261 }
249 } 262 }
250 263
251 /** 264 /**
252 * Returns true if the WebappInfo was created for an Intent fired from a lau ncher shortcut (as 265 * Returns true if the WebappInfo was created for an Intent fired from a lau ncher shortcut (as
253 * opposed to an intent from a push notification or other internal source). 266 * opposed to an intent from a push notification or other internal source).
254 */ 267 */
255 public boolean isLaunchedFromHomescreen() { 268 public boolean isLaunchedFromHomescreen() {
256 return source() != ShortcutSource.NOTIFICATION; 269 return source() != ShortcutSource.NOTIFICATION;
257 } 270 }
258 } 271 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698