SuggestionData.java revision 965d98377ddfdc52b772c2444d840000b665e000
13e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert/* 23e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Copyright (C) 2009 The Android Open Source Project 33e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 43e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 53e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * you may not use this file except in compliance with the License. 63e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * You may obtain a copy of the License at 73e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 83e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 93e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 103e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 113e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 123e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * See the License for the specific language governing permissions and 143e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * limitations under the License. 153e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert */ 163e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 173e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertpackage com.android.quicksearchbox; 183e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 193e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert/** 203e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Holds data for each suggest item including the display data and how to launch the result. 213e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Used for passing from the provider to the suggest cursor. 223e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 233e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert */ 243e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertpublic class SuggestionData { 253e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 263e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert private final Source mSource; 27782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mFormat; 28782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mText1; 29782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mText2; 30965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert private String mText2Url; 31782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mIcon1; 32782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mIcon2; 33782dd228e78e9294692d639597f96c26283968bbBjorn Bringert private String mShortcutId; 3404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert private boolean mSpinnerWhileRefreshing; 35fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert private String mIntentAction; 36fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert private String mIntentData; 37fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert private String mIntentExtraData; 38fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert private String mSuggestionQuery; 39782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 40782dd228e78e9294692d639597f96c26283968bbBjorn Bringert public SuggestionData(Source source) { 41782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mSource = source; 42782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 433e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 44fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public Source getSuggestionSource() { 453e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mSource; 463e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 473e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 48fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionFormat() { 493e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mFormat; 503e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 513e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 52fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionText1() { 533e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mText1; 543e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 553e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 56fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionText2() { 573e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mText2; 583e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 593e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 60965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert public String getSuggestionText2Url() { 61965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert return mText2Url; 62965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert } 63965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert 64fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionIcon1() { 653e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mIcon1; 663e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 673e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 68fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionIcon2() { 693e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mIcon2; 703e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 713e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 7294e8a2be78530170f50e7895a558bf8011bbf8e8Bryan Mawhinney public boolean isSpinnerWhileRefreshing() { 7304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return mSpinnerWhileRefreshing; 7494e8a2be78530170f50e7895a558bf8011bbf8e8Bryan Mawhinney } 7594e8a2be78530170f50e7895a558bf8011bbf8e8Bryan Mawhinney 7694e8a2be78530170f50e7895a558bf8011bbf8e8Bryan Mawhinney public String getIntentExtraData() { 7704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return mIntentExtraData; 783e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 793e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 803e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public String getShortcutId() { 813e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return mShortcutId; 823e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 833e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 84fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionIntentAction() { 85fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mIntentAction; 86fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 87fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 88fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionIntentDataString() { 89fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mIntentData; 90fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 91fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 92fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionIntentExtraData() { 93fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mIntentExtraData; 94fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 95fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 96fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionQuery() { 97fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mSuggestionQuery; 98fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 99fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 10004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setFormat(String format) { 101782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mFormat = format; 10204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 103782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 104782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 10504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setText1(String text1) { 106782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mText1 = text1; 10704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 108782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 109782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 11004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setText2(String text2) { 111782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mText2 = text2; 11204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 113782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 114782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 115965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert public SuggestionData setText2Url(String text2Url) { 116965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert mText2Url = text2Url; 117965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert return this; 118965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert } 119965d98377ddfdc52b772c2444d840000b665e000Bjorn Bringert 12004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setIcon1(String icon1) { 121782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mIcon1 = icon1; 12204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 123782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 124782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 12504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setIcon2(String icon2) { 126782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mIcon2 = icon2; 12704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 12804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } 12904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert 13004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setIntentAction(String intentAction) { 13104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert mIntentAction = intentAction; 13204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 13304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } 13404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert 13504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setIntentData(String intentData) { 13604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert mIntentData = intentData; 13704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 138782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 139782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 14004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setIntentExtraData(String intentExtraData) { 14104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert mIntentExtraData = intentExtraData; 14204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 143782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 144782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 14504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setSuggestionQuery(String suggestionQuery) { 14604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert mSuggestionQuery = suggestionQuery; 14704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 148782dd228e78e9294692d639597f96c26283968bbBjorn Bringert } 149782dd228e78e9294692d639597f96c26283968bbBjorn Bringert 15004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setShortcutId(String shortcutId) { 151782dd228e78e9294692d639597f96c26283968bbBjorn Bringert mShortcutId = shortcutId; 15204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 15304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } 15404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert 15504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public SuggestionData setSpinnerWhileRefreshing(boolean spinnerWhileRefreshing) { 15604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert mSpinnerWhileRefreshing = spinnerWhileRefreshing; 15704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return this; 1583e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 1593e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 1603e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert private String makeKeyComponent(String str) { 1613e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return str == null ? "" : str; 1623e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 1633e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 1643e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public String getSuggestionKey() { 16504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert String action = makeKeyComponent(mIntentAction); 16604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert String data = makeKeyComponent(mIntentData); 16704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert String query = makeKeyComponent(mSuggestionQuery); 1683e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert // calculating accurate size of string builder avoids an allocation vs starting with 1693e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert // the default size and having to expand. 1703e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert int size = action.length() + 2 + data.length() + query.length(); 1713e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return new StringBuilder(size) 1723e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .append(action) 1733e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .append('#') 1743e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .append(data) 1753e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .append('#') 1763e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .append(query) 1773e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .toString(); 1783e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 1793e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 180fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public String getSuggestionLogType() { 181fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return getSuggestionSource().getLogName(); 182fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 183fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 1843e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert @Override 1853e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public int hashCode() { 18604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert final int prime = 31; 18704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert int result = 1; 18804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mFormat == null) ? 0 : mFormat.hashCode()); 18904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mIcon1 == null) ? 0 : mIcon1.hashCode()); 19004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mIcon2 == null) ? 0 : mIcon2.hashCode()); 19104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mIntentAction == null) ? 0 : mIntentAction.hashCode()); 19204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mIntentData == null) ? 0 : mIntentData.hashCode()); 19304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mIntentExtraData == null) ? 0 : mIntentExtraData.hashCode()); 19404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mShortcutId == null) ? 0 : mShortcutId.hashCode()); 19504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mSource == null) ? 0 : mSource.hashCode()); 19604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + (mSpinnerWhileRefreshing ? 1231 : 1237); 19704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mSuggestionQuery == null) ? 0 : mSuggestionQuery.hashCode()); 19804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mText1 == null) ? 0 : mText1.hashCode()); 19904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert result = prime * result + ((mText2 == null) ? 0 : mText2.hashCode()); 2003e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return result; 2013e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 2023e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 20304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert @Override 20404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert public boolean equals(Object obj) { 20504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (this == obj) 20604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return true; 20704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (obj == null) 20804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 20904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (getClass() != obj.getClass()) 21004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 21104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert SuggestionData other = (SuggestionData)obj; 21204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mFormat == null) { 21304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mFormat != null) 21404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 21504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mFormat.equals(other.mFormat)) 21604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 21704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mIcon1 == null) { 21804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mIcon1 != null) 21904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 22004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mIcon1.equals(other.mIcon1)) 22104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 22204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mIcon2 == null) { 22304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mIcon2 != null) 22404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 22504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mIcon2.equals(other.mIcon2)) 22604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 22704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mIntentAction == null) { 22804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mIntentAction != null) 22904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 23004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mIntentAction.equals(other.mIntentAction)) 23104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 23204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mIntentData == null) { 23304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mIntentData != null) 23404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 23504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mIntentData.equals(other.mIntentData)) 23604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 23704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mIntentExtraData == null) { 23804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mIntentExtraData != null) 23904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 24004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mIntentExtraData.equals(other.mIntentExtraData)) 24104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 24204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mShortcutId == null) { 24304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mShortcutId != null) 24404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 24504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mShortcutId.equals(other.mShortcutId)) 24604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 24704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mSource == null) { 24804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mSource != null) 24904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 25004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mSource.equals(other.mSource)) 25104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 25204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mSpinnerWhileRefreshing != other.mSpinnerWhileRefreshing) 25304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 25404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mSuggestionQuery == null) { 25504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mSuggestionQuery != null) 25604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 25704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mSuggestionQuery.equals(other.mSuggestionQuery)) 25804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 25904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mText1 == null) { 26004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mText1 != null) 26104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 26204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mText1.equals(other.mText1)) 26304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 26404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (mText2 == null) { 26504a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (other.mText2 != null) 26604a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 26704a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } else if (!mText2.equals(other.mText2)) 26804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return false; 26904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert return true; 2703e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 2713e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 2723e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert /** 2733e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Returns a string representation of the contents of this SuggestionData, 2743e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * for debugging purposes. 2753e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert */ 2763e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert @Override 2773e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public String toString() { 2783e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert StringBuilder builder = new StringBuilder("SuggestionData("); 27904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "source", mSource.getFlattenedComponentName()); 28004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "text1", mText1); 28104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "intentAction", mIntentAction); 28204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "intentData", mIntentData); 28304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "query", mSuggestionQuery); 28404a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert appendField(builder, "shortcutid", mShortcutId); 2853e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return builder.toString(); 2863e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 2873e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 28804a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert private void appendField(StringBuilder builder, String name, String value) { 28904a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert if (value != null) { 29004a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert builder.append(",").append(name).append("=").append(value); 29104a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } 29204a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert } 29304a180b52fb4100a2f3747e795fb5d26e3207a4aBjorn Bringert 2943e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert} 295