package com.zachklipp.captivate.captive_portal; import com.zachklipp.captivate.service.PortalDetectorService; import com.zachklipp.captivate.util.BitmapHelper; import com.zachklipp.captivate.util.BitmapHelper.ImageLoadListener; import com.zachklipp.captivate.util.FaviconHelper; import com.zachklipp.captivate.util.StringHelper; import android.content.Intent; public class PortalInfo { private final String mPortalUrl; private final String mFaviconUrl; public PortalInfo() { mPortalUrl = ""; mFaviconUrl = ""; } public PortalInfo(String portalUrl) { mPortalUrl = portalUrl; mFaviconUrl = FaviconHelper.createFaviconUrl(mPortalUrl); } public PortalInfo(Intent intent) { mPortalUrl = StringHelper.stringOrEmpty(intent.getStringExtra(PortalDetectorService.EXTRA_PORTAL_URL)); String faviconUrl = intent.getStringExtra(PortalDetectorService.EXTRA_FAVICON_URL); if (faviconUrl == null) { faviconUrl = FaviconHelper.createFaviconUrl(mPortalUrl); } mFaviconUrl = faviconUrl; } public String toString() { return String.format("PortalInfo@%s", mPortalUrl); } public void saveToIntent(Intent intent) { intent.putExtra(PortalDetectorService.EXTRA_PORTAL_URL, mPortalUrl); intent.putExtra(PortalDetectorService.EXTRA_FAVICON_URL, mFaviconUrl); } public String getPortalUrl() { return mPortalUrl; } public String getFaviconUrl() { return mFaviconUrl; } public void getFavicon(ImageLoadListener callback) { BitmapHelper.loadImage(mFaviconUrl, callback); } }