Skip to content

Instantly share code, notes, and snippets.

Created September 11, 2012 09:24
Show Gist options
  • Save anonymous/3697179 to your computer and use it in GitHub Desktop.
Save anonymous/3697179 to your computer and use it in GitHub Desktop.
bytecode
package com.salesforce.chatter.provider;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.database.MatrixCursor.RowBuilder;
import android.net.Uri;
import com.salesforce.androidsdk.rest.ClientManager.AccountInfoNotFoundException;
import com.salesforce.auth.ChatterClientManager;
import com.salesforce.chatter.localdb.DBOpenHelper;
import com.salesforce.chatter.localdb.DBOperations;
import com.salesforce.chatter.providers.contracts.FeedItemContract;
import com.salesforce.database.FeedItemCountCursor;
import com.salesforce.mocha.ChatterClient;
import com.salesforce.mocha.HttpJsonException;
import com.salesforce.mocha.data.Comment;
import com.salesforce.mocha.data.FeedItem;
import com.salesforce.mocha.data.FeedItemRow;
import info.guardianproject.database.sqlcipher.SQLiteDatabase;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
import java.util.logging.Logger;
public class FeedItemProvider extends ChatterProvider
{
static final String COMMENT_CHECK_STMT;
private static final int COMMENT_OFFSETS = 4;
private static final int COMMENT_OFFSETS_URI = 7;
private static final String DELETE_FEED_STMT;
private static final int ENTITY_WALL = 5;
private static final int ENTITY_WALL_PAGE = 6;
static final String FEED_CHECK_STMT;
public static final String FEED_COMMENT_LISTENER_KEY = "offsets/FEED_CURRENT";
private static final int FEED_CURRENT = 1;
private static final int FEED_DETAIL = 3;
private static final int FEED_PAGE = 2;
private static final int FEED_TO_ME_CURRENT = 8;
private static final int FEED_TO_ME_PAGE = 9;
public static final String OFFSET_KEY = "offsets/";
public static final int PAGE_SIZE_FEED = 25;
protected static final String TAG = "FeedItemProvider";
static final String UPDATE_STMT;
private static UriMatcher matcher;
private ConcurrentHashMap<String, ConcurrentHashMap<String, AtomicInteger>> commentCountOffsets = new ConcurrentHashMap();
static
{
if (!FeedItemProvider.class.desiredAssertionStatus());
for (boolean bool = true; ; bool = false)
{
$assertionsDisabled = bool;
matcher = new UriMatcher(-1);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "before/*/*", 2);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "current", 1);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "cached/*", 3);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "entity/*", 5);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "entity/*/before/*/*", 6);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "feedFilter/current", 8);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "feedFilter/before/*/*", 9);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "offsets/*", 7);
matcher.addURI("com.salesforce.chatter.provider.FeedItem", "offsets/", 4);
FEED_CHECK_STMT = "SELECT commentsCount,contentVersionId,contentHasImagePreview,countLikes,isLikedByCurrentUser,isActorExternal,isParentExternal FROM " + FeedItem.DB_TABLE_NAME + " WHERE id=?";
UPDATE_STMT = "UPDATE " + FeedItem.DB_TABLE_NAME + " SET " + "commentsCount" + "=?," + "contentVersionId" + "=?," + "contentImagePreviewUriString" + "=?," + "contentHasImagePreview" + "=?," + "countLikes" + "=?," + "isLikedByCurrentUser" + "=?," + "isActorExternal" + "=?," + "isParentExternal" + "=?" + " WHERE " + "id" + "=?";
COMMENT_CHECK_STMT = "SELECT id FROM " + Comment.DB_TABLE_NAME + " WHERE " + "feedItemId" + " =? " + " ORDER BY " + "timestamp" + " DESC ";
DELETE_FEED_STMT = "DELETE FROM " + FeedItem.DB_TABLE_NAME + " WHERE " + "id" + "=?";
return;
}
}
private FeedItemCountCursor checkFeedUpdatesCreateCursor(String paramString, SQLiteDatabase paramSQLiteDatabase, Context paramContext, List<? extends FeedItemRow> paramList, String[] paramArrayOfString)
{
FeedItemCountCursor localFeedItemCountCursor = new FeedItemCountCursor(paramArrayOfString, paramList.size());
Iterator localIterator = paramList.iterator();
while (localIterator.hasNext())
{
FeedItemRow localFeedItemRow = (FeedItemRow)localIterator.next();
MatrixCursor.RowBuilder localRowBuilder = localFeedItemCountCursor.newRow();
ContentValues localContentValues = localFeedItemRow.getContentValues(paramContext);
int i = paramArrayOfString.length;
for (int j = 0; j < i; j++)
{
String str = paramArrayOfString[j];
if (("text".equals(str)) && (localContentValues.get(str) != null))
localContentValues.put(str, localContentValues.get(str).toString().replace("\r\n", "\n").replace("\r", "\n"));
localRowBuilder.add(localContentValues.get(str));
}
if (paramSQLiteDatabase != null)
upsertFeedRow(paramContext, paramString, localFeedItemRow, localContentValues, paramSQLiteDatabase);
}
return localFeedItemCountCursor;
}
private Cursor fetchOffsets(Uri paramUri)
{
this.logger.logp(Level.INFO, "FeedItemProvider", "fetchOffsets", "Fetch offsets returning " + this.commentCountOffsets);
String[] arrayOfString = new String[2];
arrayOfString[0] = "id";
arrayOfString[1] = "commentsCount";
MatrixCursor localMatrixCursor = new MatrixCursor(arrayOfString);
String str = "offsets/" + paramUri.getLastPathSegment();
if (this.commentCountOffsets.containsKey(str))
{
Iterator localIterator = ((ConcurrentHashMap)this.commentCountOffsets.get(str)).entrySet().iterator();
while (localIterator.hasNext())
{
Map.Entry localEntry = (Map.Entry)localIterator.next();
int i = ((AtomicInteger)localEntry.getValue()).get();
if (i != 0)
{
MatrixCursor.RowBuilder localRowBuilder = localMatrixCursor.newRow();
localRowBuilder.add(localEntry.getKey());
localRowBuilder.add(Integer.valueOf(i));
}
}
}
return localMatrixCursor;
}
private Cursor getOfflineFeedList(Uri paramUri, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2)
{
if (paramString2 == null);
for (String str = "timestamp DESC"; ; str = paramString2)
return dbQuery(paramUri, FeedItem.DB_TABLE_NAME, paramArrayOfString1, paramString1, paramArrayOfString2, str);
}
private void insertCommentRow(Context paramContext, FeedItemRow paramFeedItemRow, SQLiteDatabase paramSQLiteDatabase)
{
if ((paramFeedItemRow.recentComments == null) || (paramFeedItemRow.recentComments.size() == 0));
while (true)
{
return;
ContentValues localContentValues = ((Comment)paramFeedItemRow.recentComments.get(0)).getContentValues(paramContext);
localContentValues.put("feedItemId", paramFeedItemRow.id);
ChatterProvider.insertDataRow(paramContext, (ContentValuesProvider)paramFeedItemRow.recentComments.get(0), localContentValues, paramSQLiteDatabase);
}
}
private Uri insertOffset(Uri paramUri, ContentValues paramContentValues)
{
String str1 = paramContentValues.getAsString("id");
int i = paramContentValues.getAsInteger("commentsCount_Offset").intValue();
if ((i != 0) && (str1 != null))
{
Iterator localIterator2 = this.commentCountOffsets.entrySet().iterator();
while (localIterator2.hasNext())
{
AtomicInteger localAtomicInteger = (AtomicInteger)((ConcurrentHashMap)((Map.Entry)localIterator2.next()).getValue()).putIfAbsent(str1, new AtomicInteger(i));
if (localAtomicInteger != null)
localAtomicInteger.addAndGet(i);
}
}
Iterator localIterator1 = this.commentCountOffsets.keySet().iterator();
while (localIterator1.hasNext())
{
String str2 = (String)localIterator1.next();
Uri localUri = Uri.withAppendedPath(FeedItemContract.AUTHORITY_URI, str2);
getContext().getContentResolver().notifyChange(localUri, null);
}
return null;
}
private int linkParentForComment(Context paramContext, List<? extends FeedItemRow> paramList)
{
Hashtable localHashtable = new Hashtable(paramList.size());
Iterator localIterator1 = paramList.iterator();
while (localIterator1.hasNext())
{
FeedItemRow localFeedItemRow3 = (FeedItemRow)localIterator1.next();
if (localFeedItemRow3.id != null)
localHashtable.put(localFeedItemRow3.id, localFeedItemRow3);
}
int i = 0;
Iterator localIterator2 = paramList.iterator();
while (localIterator2.hasNext())
{
FeedItemRow localFeedItemRow1 = (FeedItemRow)localIterator2.next();
if (localFeedItemRow1.feedItemId != null)
{
FeedItemRow localFeedItemRow2 = (FeedItemRow)localHashtable.get(localFeedItemRow1.feedItemId);
if (localFeedItemRow2 != null)
{
localFeedItemRow1.parentName = localFeedItemRow2.actorName;
localFeedItemRow1.parentActorId = localFeedItemRow2.actorId;
localFeedItemRow1.isParentExternal = localFeedItemRow2.isActorExternal;
}
}
else
{
i++;
}
}
return i;
}
public int delete(Uri paramUri, String paramString, String[] paramArrayOfString)
{
try
{
ChatterClient localChatterClient = ChatterClientManager.peekChatterClient(getContext());
String str1 = paramUri.getLastPathSegment();
localChatterClient.deleteFeedItem(str1);
String str2 = FeedItem.DB_TABLE_NAME;
String[] arrayOfString1 = new String[1];
arrayOfString1[0] = str1;
Cursor localCursor = dbQuery(paramUri, str2, null, "id=?", arrayOfString1, null);
if (localCursor != null);
try
{
String str3;
SQLiteDatabase localSQLiteDatabase;
if (localCursor.moveToFirst())
{
str3 = localCursor.getString(localCursor.getColumnIndex("id"));
localCursor.close();
localSQLiteDatabase = DBOperations.getOpenHelper(getContext()).getWritableDatabase();
localSQLiteDatabase.beginTransaction();
}
try
{
String str4 = DELETE_FEED_STMT;
String[] arrayOfString2 = new String[1];
arrayOfString2[0] = str3;
localSQLiteDatabase.execSQL(str4, arrayOfString2);
localSQLiteDatabase.setTransactionSuccessful();
localSQLiteDatabase.endTransaction();
localCursor.close();
i = 1;
return i;
}
finally
{
localSQLiteDatabase.endTransaction();
}
}
finally
{
localCursor.close();
}
}
catch (IOException localIOException)
{
while (true)
{
this.logger.logp(Level.WARNING, "FeedItemProvider", "delete", "", localIOException);
ExceptionHelper.handle(getContext(), "FeedItemProvider", localIOException);
int i = 0;
}
}
catch (HttpJsonException localHttpJsonException)
{
while (true)
if ((localHttpJsonException.getStatusCode() == 403) || (localHttpJsonException.getStatusCode() == 500))
{
Intent localIntent = ExceptionHelper.makeHttpJsonErrorIntent(localHttpJsonException, ProviderDefs.PROVIDER_ERROR_UNABLE_TO_DELETE_POST);
getContext().sendBroadcast(localIntent);
}
else
{
this.logger.logp(Level.WARNING, "FeedItemProvider", "delete", "", localHttpJsonException);
ExceptionHelper.handle(getContext(), "FeedItemProvider", localHttpJsonException);
}
}
catch (ClientManager.AccountInfoNotFoundException localAccountInfoNotFoundException)
{
while (true)
{
this.logger.logp(Level.WARNING, "FeedItemProvider", "delete", "", localAccountInfoNotFoundException);
ExceptionHelper.handle(getContext(), "FeedItemProvider", localAccountInfoNotFoundException);
}
}
}
public String getType(Uri paramUri)
{
return null;
}
// ERROR //
public Uri insert(Uri paramUri, ContentValues paramContentValues)
{
// Byte code:
// 0: getstatic 65 com/salesforce/chatter/provider/FeedItemProvider:matcher Landroid/content/UriMatcher;
// 3: aload_1
// 4: invokevirtual 519 android/content/UriMatcher:match (Landroid/net/Uri;)I
// 7: iconst_4
// 8: if_icmpne +14 -> 22
// 11: aload_0
// 12: aload_1
// 13: aload_2
// 14: invokespecial 521 com/salesforce/chatter/provider/FeedItemProvider:insertOffset (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
// 17: astore 7
// 19: aload 7
// 21: areturn
// 22: aload_0
// 23: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 26: astore_3
// 27: aload_3
// 28: invokestatic 429 com/salesforce/auth/ChatterClientManager:peekChatterClient (Landroid/content/Context;)Lcom/salesforce/mocha/ChatterClient;
// 31: astore 10
// 33: aconst_null
// 34: astore 11
// 36: aconst_null
// 37: astore 12
// 39: aload_2
// 40: ldc_w 523
// 43: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 46: astore 13
// 48: aload_2
// 49: ldc 205
// 51: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 54: astore 14
// 56: aload_2
// 57: ldc_w 525
// 60: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 63: astore 15
// 65: aload_2
// 66: ldc_w 527
// 69: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 72: astore 16
// 74: aload 13
// 76: getstatic 533 com/salesforce/mocha/data/FeedItemType:USER_STATUS Lcom/salesforce/mocha/data/FeedItemType;
// 79: invokevirtual 536 com/salesforce/mocha/data/FeedItemType:name ()Ljava/lang/String;
// 82: invokevirtual 211 java/lang/String:equals (Ljava/lang/Object;)Z
// 85: ifeq +139 -> 224
// 88: aload 10
// 90: aload 14
// 92: invokevirtual 540 com/salesforce/mocha/ChatterClient:setStatus (Ljava/lang/String;)Lcom/salesforce/mocha/data/FeedItemRow;
// 95: astore 22
// 97: aload 22
// 99: astore 11
// 101: aconst_null
// 102: astore 5
// 104: aload 12
// 106: ifnull +25 -> 131
// 109: aload 12
// 111: aload 10
// 113: invokevirtual 543 com/salesforce/mocha/ChatterClient:getUserId ()Ljava/lang/String;
// 116: invokevirtual 211 java/lang/String:equals (Ljava/lang/Object;)Z
// 119: ifeq +12 -> 131
// 122: aload_3
// 123: aload 11
// 125: aconst_null
// 126: aconst_null
// 127: invokestatic 544 com/salesforce/chatter/provider/FeedItemProvider:insertDataRow (Landroid/content/Context;Lcom/salesforce/chatter/provider/ContentValuesProvider;Landroid/content/ContentValues;Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;)Z
// 130: pop
// 131: aconst_null
// 132: astore 7
// 134: aload 11
// 136: ifnull +75 -> 211
// 139: getstatic 369 com/salesforce/chatter/providers/contracts/FeedItemContract:AUTHORITY_URI Landroid/net/Uri;
// 142: new 89 java/lang/StringBuilder
// 145: dup
// 146: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 149: ldc_w 546
// 152: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 155: aload 11
// 157: getfield 330 com/salesforce/mocha/data/FeedItemRow:id Ljava/lang/String;
// 160: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 163: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 166: invokestatic 373 android/net/Uri:withAppendedPath (Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
// 169: astore 7
// 171: aload_3
// 172: invokevirtual 383 android/content/Context:getContentResolver ()Landroid/content/ContentResolver;
// 175: aload 7
// 177: aconst_null
// 178: invokevirtual 389 android/content/ContentResolver:notifyChange (Landroid/net/Uri;Landroid/database/ContentObserver;)V
// 181: aload 5
// 183: ifnull +28 -> 211
// 186: aload 5
// 188: aload_3
// 189: iconst_0
// 190: aload_3
// 191: aload 11
// 193: getfield 330 com/salesforce/mocha/data/FeedItemRow:id Ljava/lang/String;
// 196: aload 12
// 198: invokestatic 552 com/salesforce/chatter/Intents:getFeedDetailIntent (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
// 201: iconst_0
// 202: invokestatic 558 android/app/PendingIntent:getActivity (Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
// 205: invokevirtual 564 com/salesforce/chatter/provider/UploadProgressNotifier:complete (Landroid/app/PendingIntent;)V
// 208: aconst_null
// 209: astore 5
// 211: aload 5
// 213: ifnull -194 -> 19
// 216: aload 5
// 218: invokevirtual 567 com/salesforce/chatter/provider/UploadProgressNotifier:cancel ()V
// 221: goto -202 -> 19
// 224: aload_2
// 225: ldc_w 569
// 228: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 231: astore 12
// 233: aload 12
// 235: ifnonnull +10 -> 245
// 238: aload 10
// 240: invokevirtual 543 com/salesforce/mocha/ChatterClient:getUserId ()Ljava/lang/String;
// 243: astore 12
// 245: aload 13
// 247: getstatic 572 com/salesforce/mocha/data/FeedItemType:TEXT_POST Lcom/salesforce/mocha/data/FeedItemType;
// 250: invokevirtual 536 com/salesforce/mocha/data/FeedItemType:name ()Ljava/lang/String;
// 253: invokevirtual 211 java/lang/String:equals (Ljava/lang/Object;)Z
// 256: ifeq +20 -> 276
// 259: aload 10
// 261: aload 12
// 263: aload 14
// 265: invokevirtual 576 com/salesforce/mocha/ChatterClient:addTextFeedItem (Ljava/lang/String;Ljava/lang/String;)Lcom/salesforce/mocha/data/FeedItemRow;
// 268: astore 11
// 270: aconst_null
// 271: astore 5
// 273: goto -169 -> 104
// 276: aload 13
// 278: getstatic 579 com/salesforce/mocha/data/FeedItemType:CONTENT_POST Lcom/salesforce/mocha/data/FeedItemType;
// 281: invokevirtual 536 com/salesforce/mocha/data/FeedItemType:name ()Ljava/lang/String;
// 284: invokevirtual 211 java/lang/String:equals (Ljava/lang/Object;)Z
// 287: ifeq +81 -> 368
// 290: aload_2
// 291: ldc_w 581
// 294: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 297: astore 19
// 299: new 583 android/content/Intent
// 302: dup
// 303: aload_3
// 304: ldc_w 585
// 307: invokespecial 588 android/content/Intent:<init> (Landroid/content/Context;Ljava/lang/Class;)V
// 310: astore 20
// 312: new 560 com/salesforce/chatter/provider/UploadProgressNotifier
// 315: dup
// 316: aload_3
// 317: aload_3
// 318: iconst_0
// 319: aload 20
// 321: iconst_0
// 322: invokestatic 558 android/app/PendingIntent:getActivity (Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
// 325: aload 19
// 327: invokespecial 591 com/salesforce/chatter/provider/UploadProgressNotifier:<init> (Landroid/content/Context;Landroid/app/PendingIntent;Ljava/lang/String;)V
// 330: astore 5
// 332: aload 10
// 334: aload 12
// 336: aload 14
// 338: aload 19
// 340: aconst_null
// 341: new 593 java/io/File
// 344: dup
// 345: aload_2
// 346: ldc 122
// 348: invokevirtual 342 android/content/ContentValues:getAsString (Ljava/lang/String;)Ljava/lang/String;
// 351: invokespecial 595 java/io/File:<init> (Ljava/lang/String;)V
// 354: aload 5
// 356: invokevirtual 599 com/salesforce/mocha/ChatterClient:addFileFeedItem (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Lcom/salesforce/mocha/HttpAccess$HttpProgress;)Lcom/salesforce/mocha/data/FeedItemRow;
// 359: astore 21
// 361: aload 21
// 363: astore 11
// 365: goto -261 -> 104
// 368: aload 13
// 370: getstatic 602 com/salesforce/mocha/data/FeedItemType:LINK_POST Lcom/salesforce/mocha/data/FeedItemType;
// 373: invokevirtual 536 com/salesforce/mocha/data/FeedItemType:name ()Ljava/lang/String;
// 376: invokevirtual 211 java/lang/String:equals (Ljava/lang/Object;)Z
// 379: ifeq +255 -> 634
// 382: aload 10
// 384: aload 12
// 386: aload 15
// 388: aload 14
// 390: aload 16
// 392: invokevirtual 606 com/salesforce/mocha/ChatterClient:addLinkFeedItem (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/salesforce/mocha/data/FeedItemRow;
// 395: astore 18
// 397: aload 18
// 399: astore 11
// 401: aconst_null
// 402: astore 5
// 404: goto -300 -> 104
// 407: astore 9
// 409: aconst_null
// 410: astore 5
// 412: aload_0
// 413: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 416: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 419: ldc 41
// 421: ldc_w 607
// 424: ldc_w 486
// 427: aload 9
// 429: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 432: aload_3
// 433: ldc 41
// 435: aload 9
// 437: invokestatic 495 com/salesforce/chatter/provider/ExceptionHelper:handle (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Exception;)V
// 440: aload 5
// 442: ifnull +8 -> 450
// 445: aload 5
// 447: invokevirtual 567 com/salesforce/chatter/provider/UploadProgressNotifier:cancel ()V
// 450: aconst_null
// 451: astore 7
// 453: goto -434 -> 19
// 456: astore 8
// 458: aconst_null
// 459: astore 5
// 461: aload 8
// 463: invokevirtual 498 com/salesforce/mocha/HttpJsonException:getStatusCode ()I
// 466: sipush 404
// 469: if_icmpeq +25 -> 494
// 472: aload 8
// 474: invokevirtual 498 com/salesforce/mocha/HttpJsonException:getStatusCode ()I
// 477: sipush 500
// 480: if_icmpeq +14 -> 494
// 483: aload 8
// 485: invokevirtual 498 com/salesforce/mocha/HttpJsonException:getStatusCode ()I
// 488: sipush 403
// 491: if_icmpne +28 -> 519
// 494: aload_3
// 495: aload 8
// 497: getstatic 610 com/salesforce/chatter/provider/ProviderDefs:PROVIDER_ERROR_UNABLE_TO_CREATE_POST Lcom/salesforce/chatter/provider/ProviderDefs;
// 500: invokestatic 508 com/salesforce/chatter/provider/ExceptionHelper:makeHttpJsonErrorIntent (Lcom/salesforce/mocha/HttpJsonException;Lcom/salesforce/chatter/provider/ProviderDefs;)Landroid/content/Intent;
// 503: invokevirtual 512 android/content/Context:sendBroadcast (Landroid/content/Intent;)V
// 506: aload 5
// 508: ifnull -58 -> 450
// 511: aload 5
// 513: invokevirtual 567 com/salesforce/chatter/provider/UploadProgressNotifier:cancel ()V
// 516: goto -66 -> 450
// 519: aload_0
// 520: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 523: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 526: ldc 41
// 528: ldc_w 607
// 531: ldc_w 486
// 534: aload 8
// 536: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 539: aload_3
// 540: ldc 41
// 542: aload 8
// 544: invokestatic 495 com/salesforce/chatter/provider/ExceptionHelper:handle (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Exception;)V
// 547: goto -41 -> 506
// 550: astore 4
// 552: aload 5
// 554: ifnull +8 -> 562
// 557: aload 5
// 559: invokevirtual 567 com/salesforce/chatter/provider/UploadProgressNotifier:cancel ()V
// 562: aload 4
// 564: athrow
// 565: astore 6
// 567: aconst_null
// 568: astore 5
// 570: aload_0
// 571: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 574: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 577: ldc 41
// 579: ldc_w 607
// 582: ldc_w 486
// 585: aload 6
// 587: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 590: aload_3
// 591: ldc 41
// 593: aload 6
// 595: invokestatic 495 com/salesforce/chatter/provider/ExceptionHelper:handle (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Exception;)V
// 598: aload 5
// 600: ifnull -150 -> 450
// 603: aload 5
// 605: invokevirtual 567 com/salesforce/chatter/provider/UploadProgressNotifier:cancel ()V
// 608: goto -158 -> 450
// 611: astore 4
// 613: aconst_null
// 614: astore 5
// 616: goto -64 -> 552
// 619: astore 6
// 621: goto -51 -> 570
// 624: astore 8
// 626: goto -165 -> 461
// 629: astore 9
// 631: goto -219 -> 412
// 634: aconst_null
// 635: astore 5
// 637: goto -533 -> 104
//
// Exception table:
// from to target type
// 27 97 407 java/io/IOException
// 224 332 407 java/io/IOException
// 368 397 407 java/io/IOException
// 27 97 456 com/salesforce/mocha/HttpJsonException
// 224 332 456 com/salesforce/mocha/HttpJsonException
// 368 397 456 com/salesforce/mocha/HttpJsonException
// 109 208 550 finally
// 332 361 550 finally
// 412 440 550 finally
// 461 506 550 finally
// 519 547 550 finally
// 570 598 550 finally
// 27 97 565 com/salesforce/androidsdk/rest/ClientManager$AccountInfoNotFoundException
// 224 332 565 com/salesforce/androidsdk/rest/ClientManager$AccountInfoNotFoundException
// 368 397 565 com/salesforce/androidsdk/rest/ClientManager$AccountInfoNotFoundException
// 27 97 611 finally
// 224 332 611 finally
// 368 397 611 finally
// 109 208 619 com/salesforce/androidsdk/rest/ClientManager$AccountInfoNotFoundException
// 332 361 619 com/salesforce/androidsdk/rest/ClientManager$AccountInfoNotFoundException
// 109 208 624 com/salesforce/mocha/HttpJsonException
// 332 361 624 com/salesforce/mocha/HttpJsonException
// 109 208 629 java/io/IOException
// 332 361 629 java/io/IOException
}
// ERROR //
public Cursor query(Uri paramUri, String[] paramArrayOfString1, String paramString1, String[] paramArrayOfString2, String paramString2)
{
// Byte code:
// 0: aconst_null
// 1: astore 6
// 3: aconst_null
// 4: astore 7
// 6: getstatic 65 com/salesforce/chatter/provider/FeedItemProvider:matcher Landroid/content/UriMatcher;
// 9: aload_1
// 10: invokevirtual 519 android/content/UriMatcher:match (Landroid/net/Uri;)I
// 13: istore 8
// 15: bipush 255
// 17: istore 9
// 19: iload 8
// 21: bipush 7
// 23: if_icmpne +13 -> 36
// 26: aload_0
// 27: aload_1
// 28: invokespecial 615 com/salesforce/chatter/provider/FeedItemProvider:fetchOffsets (Landroid/net/Uri;)Landroid/database/Cursor;
// 31: astore 13
// 33: aload 13
// 35: areturn
// 36: new 617 com/salesforce/chatter/perf/Marker
// 39: dup
// 40: invokespecial 618 com/salesforce/chatter/perf/Marker:<init> ()V
// 43: astore 10
// 45: iload 8
// 47: iconst_1
// 48: if_icmpne +26 -> 74
// 51: aload_1
// 52: invokestatic 622 com/salesforce/chatter/provider/FeedItemProvider:isCacheCall (Landroid/net/Uri;)Z
// 55: ifeq +19 -> 74
// 58: aload_0
// 59: aload_1
// 60: aload_2
// 61: aload_3
// 62: aload 4
// 64: aload 5
// 66: invokespecial 624 com/salesforce/chatter/provider/FeedItemProvider:getOfflineFeedList (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
// 69: astore 13
// 71: goto -38 -> 33
// 74: aload_0
// 75: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 78: invokestatic 429 com/salesforce/auth/ChatterClientManager:peekChatterClient (Landroid/content/Context;)Lcom/salesforce/mocha/ChatterClient;
// 81: astore 16
// 83: aload_1
// 84: bipush 25
// 86: invokestatic 628 com/salesforce/chatter/provider/FeedItemProvider:getPageSize (Landroid/net/Uri;I)Ljava/lang/Integer;
// 89: invokevirtual 351 java/lang/Integer:intValue ()I
// 92: istore 17
// 94: iload 8
// 96: tableswitch default:+52 -> 148, 1:+207->303, 2:+391->487, 3:+749->845, 4:+52->148, 5:+436->532, 6:+593->689, 7:+52->148, 8:+650->746, 9:+688->784
// 149: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 152: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 155: ldc 41
// 157: ldc_w 629
// 160: new 89 java/lang/StringBuilder
// 163: dup
// 164: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 167: ldc_w 631
// 170: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 173: aload_1
// 174: invokevirtual 632 android/net/Uri:toString ()Ljava/lang/String;
// 177: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 180: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 183: invokevirtual 268 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
// 186: new 634 java/security/InvalidParameterException
// 189: dup
// 190: new 89 java/lang/StringBuilder
// 193: dup
// 194: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 197: ldc_w 636
// 200: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 203: aload_1
// 204: invokevirtual 632 android/net/Uri:toString ()Ljava/lang/String;
// 207: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 210: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 213: invokespecial 637 java/security/InvalidParameterException:<init> (Ljava/lang/String;)V
// 216: athrow
// 217: astore 14
// 219: iload 8
// 221: iconst_3
// 222: if_icmpne +831 -> 1053
// 225: aload 14
// 227: invokevirtual 498 com/salesforce/mocha/HttpJsonException:getStatusCode ()I
// 230: sipush 404
// 233: if_icmpne +820 -> 1053
// 236: aload 14
// 238: getstatic 640 com/salesforce/chatter/provider/ProviderDefs:PROVIDER_ERROR_FEED_ITEM_DOES_NOT_EXIST Lcom/salesforce/chatter/provider/ProviderDefs;
// 241: invokestatic 508 com/salesforce/chatter/provider/ExceptionHelper:makeHttpJsonErrorIntent (Lcom/salesforce/mocha/HttpJsonException;Lcom/salesforce/chatter/provider/ProviderDefs;)Landroid/content/Intent;
// 244: astore 15
// 246: aload_0
// 247: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 250: aload 15
// 252: invokevirtual 512 android/content/Context:sendBroadcast (Landroid/content/Intent;)V
// 255: aload 6
// 257: ifnull +24 -> 281
// 260: aload 6
// 262: invokevirtual 643 info/guardianproject/database/sqlcipher/SQLiteDatabase:isOpen ()Z
// 265: ifeq +16 -> 281
// 268: aload 6
// 270: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 273: ifeq +8 -> 281
// 276: aload 6
// 278: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 281: iload 8
// 283: iconst_1
// 284: if_icmpne +850 -> 1134
// 287: aload_0
// 288: aload_1
// 289: aload_2
// 290: aload_3
// 291: aload 4
// 293: aload 5
// 295: invokespecial 624 com/salesforce/chatter/provider/FeedItemProvider:getOfflineFeedList (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
// 298: astore 13
// 300: goto -267 -> 33
// 303: getstatic 652 com/salesforce/chatter/perf/Marker$MarkerType:APPLAUNCH_ALL_CHATTER Lcom/salesforce/chatter/perf/Marker$MarkerType;
// 306: invokestatic 658 com/salesforce/chatter/perf/PerformanceClient:start (Lcom/salesforce/chatter/perf/Marker$MarkerType;)V
// 309: aload 16
// 311: iconst_1
// 312: invokevirtual 662 com/salesforce/mocha/ChatterClient:getFeedItems (I)Ljava/util/List;
// 315: astore 18
// 317: aload_0
// 318: getfield 167 com/salesforce/chatter/provider/FeedItemProvider:commentCountOffsets Ljava/util/concurrent/ConcurrentHashMap;
// 321: ldc 23
// 323: new 164 java/util/concurrent/ConcurrentHashMap
// 326: dup
// 327: invokespecial 165 java/util/concurrent/ConcurrentHashMap:<init> ()V
// 330: invokevirtual 663 java/util/concurrent/ConcurrentHashMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
// 333: pop
// 334: aload 10
// 336: invokestatic 667 com/salesforce/chatter/perf/PerformanceClient:recordMarker (Lcom/salesforce/chatter/perf/Marker;)V
// 339: invokestatic 670 com/salesforce/chatter/perf/PerformanceClient:stop ()V
// 342: iload 8
// 344: iconst_1
// 345: if_icmpeq +9 -> 354
// 348: iload 8
// 350: iconst_2
// 351: if_icmpne +38 -> 389
// 354: aload_0
// 355: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 358: invokestatic 459 com/salesforce/chatter/localdb/DBOperations:getOpenHelper (Landroid/content/Context;)Lcom/salesforce/chatter/localdb/DBOpenHelper;
// 361: invokevirtual 465 com/salesforce/chatter/localdb/DBOpenHelper:getWritableDatabase ()Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;
// 364: astore 6
// 366: aload 6
// 368: invokevirtual 470 info/guardianproject/database/sqlcipher/SQLiteDatabase:beginTransaction ()V
// 371: aload 6
// 373: ifnull +16 -> 389
// 376: aload 6
// 378: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 381: ifeq +8 -> 389
// 384: aload 6
// 386: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 389: aload 16
// 391: invokevirtual 543 com/salesforce/mocha/ChatterClient:getUserId ()Ljava/lang/String;
// 394: astore 22
// 396: aload_0
// 397: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 400: astore 23
// 402: aload 7
// 404: ifnull +760 -> 1164
// 407: aload 7
// 409: astore 24
// 411: aload_0
// 412: aload 22
// 414: aload 6
// 416: aload 23
// 418: aload 24
// 420: aload_2
// 421: invokespecial 672 com/salesforce/chatter/provider/FeedItemProvider:checkFeedUpdatesCreateCursor (Ljava/lang/String;Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;Landroid/content/Context;Ljava/util/List;[Ljava/lang/String;)Lcom/salesforce/database/FeedItemCountCursor;
// 424: astore 13
// 426: iload 9
// 428: bipush 255
// 430: if_icmpeq +606 -> 1036
// 433: aload 13
// 435: iload 9
// 437: invokevirtual 675 com/salesforce/database/FeedItemCountCursor:setFeedItemCount (I)V
// 440: aload 6
// 442: ifnull +16 -> 458
// 445: aload 6
// 447: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 450: ifeq +8 -> 458
// 453: aload 6
// 455: invokevirtual 477 info/guardianproject/database/sqlcipher/SQLiteDatabase:setTransactionSuccessful ()V
// 458: aload 6
// 460: ifnull -427 -> 33
// 463: aload 6
// 465: invokevirtual 643 info/guardianproject/database/sqlcipher/SQLiteDatabase:isOpen ()Z
// 468: ifeq -435 -> 33
// 471: aload 6
// 473: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 476: ifeq -443 -> 33
// 479: aload 6
// 481: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 484: goto -451 -> 33
// 487: aload 16
// 489: aconst_null
// 490: iload 17
// 492: iconst_1
// 493: aload_1
// 494: invokevirtual 679 android/net/Uri:getPathSegments ()Ljava/util/List;
// 497: bipush 254
// 499: aload_1
// 500: invokevirtual 679 android/net/Uri:getPathSegments ()Ljava/util/List;
// 503: invokeinterface 177 1 0
// 508: iadd
// 509: invokeinterface 327 2 0
// 514: checkcast 207 java/lang/String
// 517: invokestatic 684 java/lang/Long:valueOf (Ljava/lang/String;)Ljava/lang/Long;
// 520: aload_1
// 521: invokevirtual 278 android/net/Uri:getLastPathSegment ()Ljava/lang/String;
// 524: invokevirtual 687 com/salesforce/mocha/ChatterClient:getFeedItems (Ljava/lang/String;IILjava/lang/Long;Ljava/lang/String;)Ljava/util/List;
// 527: astore 18
// 529: goto -195 -> 334
// 532: aload_1
// 533: invokevirtual 278 android/net/Uri:getLastPathSegment ()Ljava/lang/String;
// 536: astore 30
// 538: getstatic 693 com/salesforce/chatter/ChatterApp:APP Lcom/salesforce/chatter/ChatterApp;
// 541: invokevirtual 696 com/salesforce/chatter/ChatterApp:isExternalUser ()Z
// 544: ifeq +34 -> 578
// 547: aload 30
// 549: invokestatic 702 com/salesforce/util/SfdcIdUtil:isUserId (Ljava/lang/String;)Z
// 552: ifeq +26 -> 578
// 555: getstatic 693 com/salesforce/chatter/ChatterApp:APP Lcom/salesforce/chatter/ChatterApp;
// 558: aload 30
// 560: invokevirtual 705 com/salesforce/chatter/ChatterApp:isSelf (Ljava/lang/String;)Z
// 563: ifne +15 -> 578
// 566: new 707 java/util/ArrayList
// 569: dup
// 570: invokespecial 708 java/util/ArrayList:<init> ()V
// 573: astore 18
// 575: goto -241 -> 334
// 578: aload 16
// 580: aload 30
// 582: iload 17
// 584: invokevirtual 712 com/salesforce/mocha/ChatterClient:getWallFeedItems (Ljava/lang/String;I)Ljava/util/List;
// 587: astore 18
// 589: aload_0
// 590: getfield 167 com/salesforce/chatter/provider/FeedItemProvider:commentCountOffsets Ljava/util/concurrent/ConcurrentHashMap;
// 593: new 89 java/lang/StringBuilder
// 596: dup
// 597: invokespecial 91 java/lang/StringBuilder:<init> ()V
// 600: ldc 36
// 602: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 605: aload 30
// 607: invokevirtual 97 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 610: invokevirtual 108 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 613: new 164 java/util/concurrent/ConcurrentHashMap
// 616: dup
// 617: invokespecial 165 java/util/concurrent/ConcurrentHashMap:<init> ()V
// 620: invokevirtual 663 java/util/concurrent/ConcurrentHashMap:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
// 623: pop
// 624: goto -290 -> 334
// 627: astore 12
// 629: aload_0
// 630: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 633: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 636: ldc 41
// 638: ldc_w 629
// 641: ldc_w 486
// 644: aload 12
// 646: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 649: aload_0
// 650: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 653: ldc 41
// 655: aload 12
// 657: invokestatic 495 com/salesforce/chatter/provider/ExceptionHelper:handle (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Exception;)V
// 660: aload 6
// 662: ifnull -381 -> 281
// 665: aload 6
// 667: invokevirtual 643 info/guardianproject/database/sqlcipher/SQLiteDatabase:isOpen ()Z
// 670: ifeq -389 -> 281
// 673: aload 6
// 675: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 678: ifeq -397 -> 281
// 681: aload 6
// 683: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 686: goto -405 -> 281
// 689: aload_1
// 690: invokevirtual 679 android/net/Uri:getPathSegments ()Ljava/util/List;
// 693: astore 29
// 695: aload 16
// 697: aload 29
// 699: iconst_1
// 700: invokeinterface 327 2 0
// 705: checkcast 207 java/lang/String
// 708: iload 17
// 710: iconst_0
// 711: aload 29
// 713: bipush 254
// 715: aload 29
// 717: invokeinterface 177 1 0
// 722: iadd
// 723: invokeinterface 327 2 0
// 728: checkcast 207 java/lang/String
// 731: invokestatic 684 java/lang/Long:valueOf (Ljava/lang/String;)Ljava/lang/Long;
// 734: aload_1
// 735: invokevirtual 278 android/net/Uri:getLastPathSegment ()Ljava/lang/String;
// 738: invokevirtual 687 com/salesforce/mocha/ChatterClient:getFeedItems (Ljava/lang/String;IILjava/lang/Long;Ljava/lang/String;)Ljava/util/List;
// 741: astore 18
// 743: goto -409 -> 334
// 746: getstatic 715 com/salesforce/chatter/perf/Marker$MarkerType:AT_ME_UIEVENT Lcom/salesforce/chatter/perf/Marker$MarkerType;
// 749: invokestatic 658 com/salesforce/chatter/perf/PerformanceClient:start (Lcom/salesforce/chatter/perf/Marker$MarkerType;)V
// 752: aload 16
// 754: aconst_null
// 755: iload 17
// 757: ldc_w 717
// 760: iconst_1
// 761: aconst_null
// 762: aconst_null
// 763: iconst_1
// 764: invokevirtual 720 com/salesforce/mocha/ChatterClient:getFeedItems (Ljava/lang/String;ILjava/lang/String;ILjava/lang/Long;Ljava/lang/String;Z)Ljava/util/List;
// 767: astore 18
// 769: aload_0
// 770: aload_0
// 771: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 774: aload 18
// 776: invokespecial 722 com/salesforce/chatter/provider/FeedItemProvider:linkParentForComment (Landroid/content/Context;Ljava/util/List;)I
// 779: istore 9
// 781: goto -447 -> 334
// 784: aload 16
// 786: aconst_null
// 787: iload 17
// 789: ldc_w 717
// 792: iconst_1
// 793: aload_1
// 794: invokevirtual 679 android/net/Uri:getPathSegments ()Ljava/util/List;
// 797: bipush 254
// 799: aload_1
// 800: invokevirtual 679 android/net/Uri:getPathSegments ()Ljava/util/List;
// 803: invokeinterface 177 1 0
// 808: iadd
// 809: invokeinterface 327 2 0
// 814: checkcast 207 java/lang/String
// 817: invokestatic 684 java/lang/Long:valueOf (Ljava/lang/String;)Ljava/lang/Long;
// 820: aload_1
// 821: invokevirtual 278 android/net/Uri:getLastPathSegment ()Ljava/lang/String;
// 824: iconst_1
// 825: invokevirtual 720 com/salesforce/mocha/ChatterClient:getFeedItems (Ljava/lang/String;ILjava/lang/String;ILjava/lang/Long;Ljava/lang/String;Z)Ljava/util/List;
// 828: astore 18
// 830: aload_0
// 831: aload_0
// 832: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 835: aload 18
// 837: invokespecial 722 com/salesforce/chatter/provider/FeedItemProvider:linkParentForComment (Landroid/content/Context;Ljava/util/List;)I
// 840: istore 9
// 842: goto -508 -> 334
// 845: aload 16
// 847: aload_1
// 848: invokevirtual 278 android/net/Uri:getLastPathSegment ()Ljava/lang/String;
// 851: invokevirtual 725 com/salesforce/mocha/ChatterClient:getFeedItems (Ljava/lang/String;)Ljava/util/List;
// 854: astore 18
// 856: new 707 java/util/ArrayList
// 859: dup
// 860: invokespecial 708 java/util/ArrayList:<init> ()V
// 863: astore 19
// 865: aload 18
// 867: ifnull +290 -> 1157
// 870: aload 18
// 872: invokeinterface 184 1 0
// 877: astore 26
// 879: aload 26
// 881: invokeinterface 189 1 0
// 886: ifeq +46 -> 932
// 889: aload 26
// 891: invokeinterface 193 1 0
// 896: checkcast 195 com/salesforce/mocha/data/FeedItemRow
// 899: astore 27
// 901: aload 27
// 903: ifnull -24 -> 879
// 906: aload 27
// 908: getfield 727 com/salesforce/mocha/data/FeedItemRow:feedItemType Lcom/salesforce/mocha/data/FeedItemType;
// 911: ifnull -32 -> 879
// 914: aload 19
// 916: aload 27
// 918: invokeinterface 729 2 0
// 923: pop
// 924: goto -45 -> 879
// 927: astore 14
// 929: goto -710 -> 219
// 932: aload 19
// 934: astore 7
// 936: goto -602 -> 334
// 939: astore 21
// 941: aload_0
// 942: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 945: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 948: ldc 41
// 950: ldc_w 629
// 953: ldc_w 486
// 956: aload 21
// 958: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 961: aload 6
// 963: ifnull -574 -> 389
// 966: aload 6
// 968: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 971: ifeq -582 -> 389
// 974: aload 6
// 976: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 979: goto -590 -> 389
// 982: astore 11
// 984: aload 6
// 986: ifnull +24 -> 1010
// 989: aload 6
// 991: invokevirtual 643 info/guardianproject/database/sqlcipher/SQLiteDatabase:isOpen ()Z
// 994: ifeq +16 -> 1010
// 997: aload 6
// 999: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 1002: ifeq +8 -> 1010
// 1005: aload 6
// 1007: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 1010: aload 11
// 1012: athrow
// 1013: astore 20
// 1015: aload 6
// 1017: ifnull +16 -> 1033
// 1020: aload 6
// 1022: invokevirtual 646 info/guardianproject/database/sqlcipher/SQLiteDatabase:inTransaction ()Z
// 1025: ifeq +8 -> 1033
// 1028: aload 6
// 1030: invokevirtual 480 info/guardianproject/database/sqlcipher/SQLiteDatabase:endTransaction ()V
// 1033: aload 20
// 1035: athrow
// 1036: aload 13
// 1038: invokevirtual 732 com/salesforce/database/FeedItemCountCursor:getCount ()I
// 1041: istore 25
// 1043: aload 13
// 1045: iload 25
// 1047: invokevirtual 675 com/salesforce/database/FeedItemCountCursor:setFeedItemCount (I)V
// 1050: goto -610 -> 440
// 1053: iload 8
// 1055: iconst_5
// 1056: if_icmpeq +10 -> 1066
// 1059: iload 8
// 1061: bipush 6
// 1063: if_icmpne +37 -> 1100
// 1066: aload 14
// 1068: invokevirtual 498 com/salesforce/mocha/HttpJsonException:getStatusCode ()I
// 1071: sipush 403
// 1074: if_icmpne +26 -> 1100
// 1077: aload_0
// 1078: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 1081: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 1084: ldc 41
// 1086: ldc_w 629
// 1089: ldc_w 486
// 1092: aload 14
// 1094: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 1097: goto -842 -> 255
// 1100: aload_0
// 1101: getfield 250 com/salesforce/chatter/provider/FeedItemProvider:logger Ljava/util/logging/Logger;
// 1104: getstatic 483 java/util/logging/Level:WARNING Ljava/util/logging/Level;
// 1107: ldc 41
// 1109: ldc_w 629
// 1112: ldc_w 486
// 1115: aload 14
// 1117: invokevirtual 489 java/util/logging/Logger:logp (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
// 1120: aload_0
// 1121: invokevirtual 377 com/salesforce/chatter/provider/FeedItemProvider:getContext ()Landroid/content/Context;
// 1124: ldc 41
// 1126: aload 14
// 1128: invokestatic 495 com/salesforce/chatter/provider/ExceptionHelper:handle (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Exception;)V
// 1131: goto -876 -> 255
// 1134: new 270 android/database/MatrixCursor
// 1137: dup
// 1138: aload_2
// 1139: invokespecial 273 android/database/MatrixCursor:<init> ([Ljava/lang/String;)V
// 1142: astore 13
// 1144: goto -1111 -> 33
// 1147: astore 11
// 1149: goto -165 -> 984
// 1152: astore 12
// 1154: goto -525 -> 629
// 1157: aload 19
// 1159: astore 7
// 1161: goto -827 -> 334
// 1164: aload 18
// 1166: astore 24
// 1168: goto -757 -> 411
//
// Exception table:
// from to target type
// 74 217 217 com/salesforce/mocha/HttpJsonException
// 303 342 217 com/salesforce/mocha/HttpJsonException
// 376 458 217 com/salesforce/mocha/HttpJsonException
// 487 624 217 com/salesforce/mocha/HttpJsonException
// 689 865 217 com/salesforce/mocha/HttpJsonException
// 966 979 217 com/salesforce/mocha/HttpJsonException
// 1020 1050 217 com/salesforce/mocha/HttpJsonException
// 74 217 627 java/lang/Exception
// 303 342 627 java/lang/Exception
// 376 458 627 java/lang/Exception
// 487 624 627 java/lang/Exception
// 689 865 627 java/lang/Exception
// 966 979 627 java/lang/Exception
// 1020 1050 627 java/lang/Exception
// 870 924 927 com/salesforce/mocha/HttpJsonException
// 354 371 939 java/lang/Exception
// 74 217 982 finally
// 225 255 982 finally
// 303 342 982 finally
// 376 458 982 finally
// 487 624 982 finally
// 629 660 982 finally
// 689 865 982 finally
// 966 979 982 finally
// 1020 1050 982 finally
// 1066 1131 982 finally
// 354 371 1013 finally
// 941 961 1013 finally
// 870 924 1147 finally
// 870 924 1152 java/lang/Exception
}
public int update(Uri paramUri, ContentValues paramContentValues, String paramString, String[] paramArrayOfString)
{
return 0;
}
protected void upsertFeedRow(Context paramContext, String paramString, FeedItemRow paramFeedItemRow, ContentValues paramContentValues, SQLiteDatabase paramSQLiteDatabase)
{
Cursor localCursor1 = null;
Cursor localCursor2 = null;
assert (paramString != null);
while (true)
{
boolean bool2;
boolean bool5;
try
{
String str1 = FEED_CHECK_STMT;
String[] arrayOfString1 = new String[1];
arrayOfString1[0] = paramFeedItemRow.id;
localCursor1 = paramSQLiteDatabase.rawQuery(str1, arrayOfString1);
if (!localCursor1.moveToFirst())
{
ChatterProvider.insertDataRow(paramContext, paramFeedItemRow, paramContentValues, paramSQLiteDatabase);
CommentProvider.deleteCommentsForFeedItem(paramContext, paramSQLiteDatabase, paramFeedItemRow.id);
insertCommentRow(paramContext, paramFeedItemRow, paramSQLiteDatabase);
if (localCursor1 != null)
localCursor1.close();
if (0 != 0)
null.close();
return;
}
String str2 = paramContentValues.getAsString("contentVersionId");
boolean bool1 = paramContentValues.getAsBoolean("contentHasImagePreview").booleanValue();
bool2 = paramContentValues.getAsBoolean("isLikedByCurrentUser").booleanValue();
int i = paramContentValues.getAsInteger("countLikes").intValue();
boolean bool4;
if ((paramContentValues.getAsString("commentsCount").equals(localCursor1.getString(0))) && ((str2 == null) || (str2.equals(localCursor1.getString(1)))))
{
if (localCursor1.getShort(2) != 1)
continue;
bool4 = true;
if ((bool1 == bool4) && (i == localCursor1.getInt(3)))
{
if (localCursor1.getShort(4) != 1)
continue;
bool5 = true;
break label731;
}
}
this.logger.logp(Level.INFO, "FeedItemProvider", "upsertFeedRow", "Found feed item update for ID " + paramFeedItemRow.id);
String str3 = UPDATE_STMT;
Object[] arrayOfObject = new Object[9];
arrayOfObject[0] = paramContentValues.getAsString("commentsCount");
arrayOfObject[1] = paramContentValues.getAsString("contentVersionId");
arrayOfObject[2] = paramContentValues.getAsString("contentImagePreviewUriString");
if (bool1)
{
j = 1;
arrayOfObject[3] = Integer.valueOf(j);
arrayOfObject[4] = paramContentValues.getAsInteger("countLikes");
arrayOfObject[5] = paramContentValues.getAsBoolean("isLikedByCurrentUser");
arrayOfObject[6] = paramContentValues.getAsBoolean("isActorExternal");
arrayOfObject[7] = paramContentValues.getAsBoolean("isParentExternal");
arrayOfObject[8] = paramFeedItemRow.id;
paramSQLiteDatabase.execSQL(str3, arrayOfObject);
if ((paramString.equals(paramFeedItemRow.actorId)) && (paramFeedItemRow.recentComments != null) && (paramFeedItemRow.recentComments.size() > 0))
{
String str4 = COMMENT_CHECK_STMT;
String[] arrayOfString2 = new String[1];
arrayOfString2[0] = paramFeedItemRow.id;
localCursor2 = paramSQLiteDatabase.rawQuery(str4, arrayOfString2);
int k = 1;
if (localCursor2.moveToFirst())
{
String str5 = ((Comment)paramFeedItemRow.recentComments.get(0)).id;
if (!localCursor2.getString(0).equals(str5))
continue;
k = 0;
if (localCursor2.getCount() > 1)
{
CommentProvider.deleteCommentsForFeedItem(paramContext, paramSQLiteDatabase, paramFeedItemRow.id);
insertCommentRow(paramContext, paramFeedItemRow, paramSQLiteDatabase);
}
}
if (k != 0)
{
insertCommentRow(paramContext, paramFeedItemRow, paramSQLiteDatabase);
this.logger.logp(Level.INFO, "FeedItemProvider", "upsertFeedRow", "Found updated feed item for a new comment. Feed ID [" + paramFeedItemRow.id + "] Comment ID [" + ((Comment)paramFeedItemRow.recentComments.get(0)).id + "]");
}
}
if (localCursor1 != null)
localCursor1.close();
if (localCursor2 == null)
continue;
localCursor2.close();
continue;
bool4 = false;
continue;
bool5 = false;
break label731;
}
int j = 0;
continue;
boolean bool3 = localCursor2.moveToNext();
if (bool3)
continue;
continue;
}
finally
{
if (localCursor1 != null)
localCursor1.close();
if (localCursor2 != null)
localCursor2.close();
}
label731: if (bool2 == bool5);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment