Merge "Type check before casting from CookieHandler to CookieManager" into oc-dr1-dev

This commit is contained in:
Sungsoo Lim
2017-07-19 22:41:02 +00:00
committed by Android (Google) Code Review
2 changed files with 27 additions and 22 deletions

View File

@@ -61,9 +61,9 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
private final static int MAX_REDIRECTS = 20; private final static int MAX_REDIRECTS = 20;
public MediaHTTPConnection() { public MediaHTTPConnection() {
CookieManager cookieManager = (CookieManager)CookieHandler.getDefault(); CookieHandler cookieHandler = CookieHandler.getDefault();
if (cookieManager == null) { if (cookieHandler == null) {
Log.w(TAG, "MediaHTTPConnection: Unexpected. No CookieManager found."); Log.w(TAG, "MediaHTTPConnection: Unexpected. No CookieHandler found.");
} }
native_setup(); native_setup();

View File

@@ -41,34 +41,40 @@ public class MediaHTTPService extends IMediaHTTPService.Stub {
synchronized (mCookieStoreInitialized) { synchronized (mCookieStoreInitialized) {
// Only need to do it once for all connections // Only need to do it once for all connections
if ( !mCookieStoreInitialized ) { if ( !mCookieStoreInitialized ) {
CookieManager cookieManager = (CookieManager)CookieHandler.getDefault(); CookieHandler cookieHandler = CookieHandler.getDefault();
if (cookieManager == null) { if (cookieHandler == null) {
cookieManager = new CookieManager(); cookieHandler = new CookieManager();
CookieHandler.setDefault(cookieManager); CookieHandler.setDefault(cookieHandler);
Log.v(TAG, "makeHTTPConnection: CookieManager created: " + cookieManager); Log.v(TAG, "makeHTTPConnection: CookieManager created: " + cookieHandler);
} } else {
else { Log.v(TAG, "makeHTTPConnection: CookieHandler (" + cookieHandler + ") exists.");
Log.v(TAG, "makeHTTPConnection: CookieManager(" + cookieManager + ") exists.");
} }
// Applying the bootstrapping cookies // Applying the bootstrapping cookies
if ( mCookies != null ) { if ( mCookies != null ) {
CookieStore store = cookieManager.getCookieStore(); if ( cookieHandler instanceof CookieManager ) {
for ( HttpCookie cookie : mCookies ) { CookieManager cookieManager = (CookieManager)cookieHandler;
try { CookieStore store = cookieManager.getCookieStore();
store.add(null, cookie); for ( HttpCookie cookie : mCookies ) {
} catch ( Exception e ) { try {
Log.v(TAG, "makeHTTPConnection: CookieStore.add" + e); store.add(null, cookie);
} catch ( Exception e ) {
Log.v(TAG, "makeHTTPConnection: CookieStore.add" + e);
}
//for extended debugging when needed
//Log.v(TAG, "MediaHTTPConnection adding Cookie[" + cookie.getName() +
// "]: " + cookie);
} }
//for extended debugging when needed } else {
//Log.v(TAG, "MediaHTTPConnection adding Cookie[" + cookie.getName() + Log.w(TAG, "makeHTTPConnection: The installed CookieHandler is not a "
// "]: " + cookie); + "CookieManager. Can’t add the provided cookies to the cookie "
+ "store.");
} }
} // mCookies } // mCookies
mCookieStoreInitialized = true; mCookieStoreInitialized = true;
Log.v(TAG, "makeHTTPConnection(" + this + "): cookieManager: " + cookieManager + Log.v(TAG, "makeHTTPConnection(" + this + "): cookieHandler: " + cookieHandler +
" Cookies: " + mCookies); " Cookies: " + mCookies);
} // mCookieStoreInitialized } // mCookieStoreInitialized
} // synchronized } // synchronized
@@ -92,5 +98,4 @@ public class MediaHTTPService extends IMediaHTTPService.Stub {
return null; return null;
} }
} }