// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.olio.olios.model.strategies; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import com.olio.data.object.context.PersonalAssistantContext; import com.olio.olios.model.OlioDatabaseHelper; import com.olio.olios.model.OlioDatabaseUtils; import com.olio.olios.model.record.DatabaseRecordMixins; import com.olio.util.ALog; import java.util.ArrayList; import java.util.Iterator; import java.util.List; // Referenced classes of package com.olio.olios.model.strategies: // CacheStrategy, CacheStrategyUtils public class PersonalAssistantContextStrategy implements CacheStrategy { public static final String CONTEXT_NAME = "contextName"; private final List mCachedPersonalAssistantContexts = new ArrayList(); private ContentResolver mContentResolver; private OlioDatabaseHelper mDatabaseHelper; public PersonalAssistantContextStrategy(ContentResolver contentresolver, OlioDatabaseHelper oliodatabasehelper) { mContentResolver = contentresolver; mDatabaseHelper = oliodatabasehelper; } private void addPersonalAssistantContextToContentValuesList(PersonalAssistantContext personalassistantcontext, List list) { ContentValues contentvalues = DatabaseRecordMixins.valuesForRecord(personalassistantcontext); contentvalues.put("_id", Integer.valueOf(personalassistantcontext.getDatabaseId())); list.add(contentvalues); } private ContentValues[] getContentValuesFromCache(String s, String s1) { ArrayList arraylist = new ArrayList(); Iterator iterator = mCachedPersonalAssistantContexts.iterator(); do { if (!iterator.hasNext()) { break; } PersonalAssistantContext personalassistantcontext = (PersonalAssistantContext)iterator.next(); if (s1 != null) { if (s1.equals(String.valueOf(personalassistantcontext.getDatabaseId()))) { addPersonalAssistantContextToContentValuesList(personalassistantcontext, arraylist); } } else if (s != null) { if (s.equals(personalassistantcontext.getContextName())) { addPersonalAssistantContextToContentValuesList(personalassistantcontext, arraylist); } } else { addPersonalAssistantContextToContentValuesList(personalassistantcontext, arraylist); } } while (true); return (ContentValues[])arraylist.toArray(new ContentValues[arraylist.size()]); } private PersonalAssistantContext personalAssistantContextFromCursor(Cursor cursor) { if (cursor != null && cursor.getCount() > 0) { cursor = DatabaseRecordMixins.recordsFromCursor(cursor, PersonalAssistantContext.staticFactory()); if (cursor != null && cursor.size() > 0) { return (PersonalAssistantContext)cursor.get(0); } } return null; } public void clearCache() { synchronized (mCachedPersonalAssistantContexts) { mCachedPersonalAssistantContexts.clear(); } return; exception; list; JVM INSTR monitorexit ; throw exception; } public int delete(Uri uri, String s, String as[]) { CacheStrategyUtils.assertNullParameters(uri, s, as, getClass().getSimpleName()); s = mCachedPersonalAssistantContexts; s; JVM INSTR monitorenter ; int j = Integer.parseInt(uri.getLastPathSegment()); int i = 0; _L3: if (i < mCachedPersonalAssistantContexts.size()) { if (j != ((PersonalAssistantContext)mCachedPersonalAssistantContexts.get(i)).getDatabaseId()) { break MISSING_BLOCK_LABEL_136; } mCachedPersonalAssistantContexts.remove(i); } _L1: i = OlioDatabaseUtils.delete(mContentResolver, uri, null, null, mDatabaseHelper); s; JVM INSTR monitorexit ; return i; as; ALog.e("Error deleting item in the cache. Uri(%s) - Error: %s", new Object[] { uri, as }); mCachedPersonalAssistantContexts.clear(); goto _L1 uri; s; JVM INSTR monitorexit ; throw uri; i++; if (true) goto _L3; else goto _L2 _L2: } public Uri insert(Uri uri, ContentValues contentvalues) { List list = mCachedPersonalAssistantContexts; list; JVM INSTR monitorenter ; Uri uri1 = OlioDatabaseUtils.insert(mContentResolver, uri, contentvalues, mDatabaseHelper); ContentValues contentvalues1; ContentValues contentvalues2; PersonalAssistantContext personalassistantcontext; PersonalAssistantContext personalassistantcontext1; personalassistantcontext1 = null; personalassistantcontext = null; contentvalues2 = personalassistantcontext; contentvalues1 = personalassistantcontext1; int j = Integer.parseInt(uri1.getLastPathSegment()); contentvalues2 = personalassistantcontext; contentvalues1 = personalassistantcontext1; contentvalues = OlioDatabaseUtils.cursorForContentValues(PersonalAssistantContext.staticColumnProjection(), new ContentValues[] { contentvalues }); contentvalues2 = contentvalues; contentvalues1 = contentvalues; personalassistantcontext = personalAssistantContextFromCursor(contentvalues); contentvalues2 = contentvalues; contentvalues1 = contentvalues; personalassistantcontext.setDatabaseId(j); int i = 0; _L5: contentvalues2 = contentvalues; contentvalues1 = contentvalues; if (i >= mCachedPersonalAssistantContexts.size()) goto _L2; else goto _L1 _L1: contentvalues2 = contentvalues; contentvalues1 = contentvalues; personalassistantcontext1 = (PersonalAssistantContext)mCachedPersonalAssistantContexts.get(i); contentvalues2 = contentvalues; contentvalues1 = contentvalues; if (personalassistantcontext1.getDatabaseId() != j) goto _L4; else goto _L3 _L3: contentvalues2 = contentvalues; contentvalues1 = contentvalues; mCachedPersonalAssistantContexts.remove(personalassistantcontext1); _L2: contentvalues2 = contentvalues; contentvalues1 = contentvalues; mCachedPersonalAssistantContexts.add(personalassistantcontext); if (contentvalues == null) { break MISSING_BLOCK_LABEL_195; } contentvalues.close(); _L7: list; JVM INSTR monitorexit ; return uri1; _L4: i++; goto _L5 contentvalues; contentvalues1 = contentvalues2; ALog.e("Error inserting item in the cache. Uri(%s) - Insert result uri(%s) - Error: %s", new Object[] { uri, uri1, contentvalues }); contentvalues1 = contentvalues2; mCachedPersonalAssistantContexts.clear(); if (contentvalues2 == null) goto _L7; else goto _L6 _L6: contentvalues2.close(); goto _L7 uri; list; JVM INSTR monitorexit ; throw uri; uri; if (contentvalues1 == null) { break MISSING_BLOCK_LABEL_280; } contentvalues1.close(); throw uri; goto _L5 } public Cursor query(Uri uri, String as[], String s, String as1[], String s1) { CacheStrategyUtils.assertNullParameters(uri, s, as1, getClass().getSimpleName()); s = uri.getQueryParameter("contextName"); s1 = mCachedPersonalAssistantContexts; s1; JVM INSTR monitorenter ; as = null; if (uri.getPathSegments().size() == 2) { as = uri.getLastPathSegment(); } if (mCachedPersonalAssistantContexts.size() <= 0) { break MISSING_BLOCK_LABEL_90; } as1 = getContentValuesFromCache(s, as); if (as1.length <= 0) { break MISSING_BLOCK_LABEL_90; } uri = OlioDatabaseUtils.cursorForContentValues(PersonalAssistantContext.staticColumnProjection(), as1); s1; JVM INSTR monitorexit ; return uri; if (as == null) goto _L2; else goto _L1 _L1: as1 = String.format("%s = ?", new Object[] { "_id" }); s = (new String[] { as }); as = as1; _L4: uri = OlioDatabaseUtils.query(mContentResolver, uri, PersonalAssistantContext.staticColumnProjection(), as, s, mDatabaseHelper); if (uri == null) { break MISSING_BLOCK_LABEL_180; } if (uri.getCount() > 0) { as = DatabaseRecordMixins.recordsFromCursor(uri, PersonalAssistantContext.staticFactory()); mCachedPersonalAssistantContexts.addAll(as); uri.moveToPosition(-1); } s1; JVM INSTR monitorexit ; return uri; uri; s1; JVM INSTR monitorexit ; throw uri; _L2: if (s == null) { break MISSING_BLOCK_LABEL_222; } as = String.format("%s = ?", new Object[] { "context_name" }); s = (new String[] { s }); continue; /* Loop/switch isn't completed */ as = null; s = null; if (true) goto _L4; else goto _L3 _L3: } public int update(Uri uri, ContentValues contentvalues, String s, String as[]) { CacheStrategyUtils.assertNullParameters(uri, s, as, getClass().getSimpleName()); List list = mCachedPersonalAssistantContexts; list; JVM INSTR monitorenter ; Cursor cursor; PersonalAssistantContext personalassistantcontext; personalassistantcontext = null; cursor = null; as = cursor; s = personalassistantcontext; int j = Integer.parseInt(uri.getLastPathSegment()); as = cursor; s = personalassistantcontext; cursor = OlioDatabaseUtils.cursorForContentValues(PersonalAssistantContext.staticColumnProjection(), new ContentValues[] { contentvalues }); as = cursor; s = cursor; personalassistantcontext = personalAssistantContextFromCursor(cursor); as = cursor; s = cursor; personalassistantcontext.setDatabaseId(j); int i = 0; _L5: as = cursor; s = cursor; if (i >= mCachedPersonalAssistantContexts.size()) goto _L2; else goto _L1 _L1: as = cursor; s = cursor; PersonalAssistantContext personalassistantcontext1 = (PersonalAssistantContext)mCachedPersonalAssistantContexts.get(i); as = cursor; s = cursor; if (personalassistantcontext1.getDatabaseId() != j) goto _L4; else goto _L3 _L3: as = cursor; s = cursor; mCachedPersonalAssistantContexts.remove(personalassistantcontext1); as = cursor; s = cursor; mCachedPersonalAssistantContexts.add(i, personalassistantcontext); _L2: if (cursor == null) { break MISSING_BLOCK_LABEL_212; } cursor.close(); _L7: list; JVM INSTR monitorexit ; return OlioDatabaseUtils.update(mContentResolver, uri, contentvalues, null, null, mDatabaseHelper); _L4: i++; goto _L5 Exception exception; exception; s = as; ALog.e("Error updating item in the cache. Uri(%s) - Error: %s", new Object[] { uri, exception }); s = as; mCachedPersonalAssistantContexts.clear(); if (as == null) goto _L7; else goto _L6 _L6: as.close(); goto _L7 uri; list; JVM INSTR monitorexit ; throw uri; uri; if (s == null) { break MISSING_BLOCK_LABEL_307; } s.close(); throw uri; goto _L5 } }