public class PurposesViewModel
extends androidx.lifecycle.ViewModel
| Modifier and Type | Class and Description |
|---|---|
static interface |
PurposesViewModel.ClickableDataProcessingCallback |
| Modifier and Type | Field and Description |
|---|---|
protected ConfigurationRepository |
configurationRepository |
protected io.didomi.sdk.resources.LanguagesHelper |
languagesHelper |
protected java.util.List<PurposeCategory> |
requiredCategories |
protected java.util.Set<Purpose> |
requiredPurposes |
protected androidx.lifecycle.MutableLiveData<PurposeCategory> |
selectedCategory |
protected androidx.lifecycle.MutableLiveData<Purpose> |
selectedPurpose |
protected VendorRepository |
vendorRepository |
| Constructor and Description |
|---|
PurposesViewModel(ConfigurationRepository configurationRepository,
EventsRepository eventsRepository,
VendorRepository vendorRepository,
io.didomi.sdk.resources.LanguagesHelper languagesHelper,
io.didomi.sdk.resources.ResourcesHelper resourcesHelper,
ConsentRepository consentRepository,
ContextHelper contextHelper) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
areAllPurposesConsentEnabled() |
boolean |
areAllPurposesDefinedForCategory(PurposeCategory category) |
boolean |
areAllPurposesDisabled() |
boolean |
areAllPurposesDisabledWithoutEssentials() |
int |
calculateHighlightBackgroundColor(AppConfiguration.Theme theme)
Method used to get the highlight background color from the theme.
|
int |
calculateHighlightTextColor(AppConfiguration.Theme theme)
Method used to get the highlight text color in the form of an int.
|
java.util.List<io.didomi.sdk.adapters.DisplayItem.PurposeDisplayItem> |
createPurposesDisplayItems(android.content.Context context) |
java.util.List<io.didomi.sdk.adapters.DisplayItem.PurposeDisplayItem> |
createPurposesDisplayItemsForCategory(PurposeCategory category) |
void |
disableAll()
Method used to disable all purposes and update disabled vendors based on enabled vendors.
|
void |
disableAllConsentPurposes()
Method used to disable all purposes.
|
void |
disableAllConsentPurposesExceptEssentials()
Method used to disable all purposes except essential ones.
|
void |
disableAllLegitimatePurposes()
Method used to disable all legitimate purposes.
|
void |
disableAllVendorLegIntUnselected()
Disable legitimate interest for vendors not enabled by the user.
|
void |
disableAllVendorUnselected()
Method used to disable vendors not enabled by the user.
|
void |
disableLegitimatePurpose(Purpose purpose)
Method used to add a purpose to the disabled legitimate purposes array and remove it from the enabled legitimate purposes array.
|
void |
disablePurpose(Purpose purpose)
Method used to add a purpose to the disabled purposes array and remove it from the enabled purposes array.
|
protected void |
disablePurposeIfApplicable(Purpose purpose) |
void |
disableVendor(Vendor vendor)
Method used to add a vendor to the disabled vendors array.
|
void |
enableAll()
Method used to enable all purposes and update disabled vendors based on enabled vendors.
|
void |
enableAllConsentPurposes()
Method used to enable all purposes.
|
void |
enableAllConsentPurposesExceptEssentials()
Method used to enable all purposes except essential ones.
|
void |
enableAllLegitimatePurposes()
Method used to enable all legitimate purposes.
|
void |
enableAllVendorLegInt() |
void |
enableAllVendorLegIntUnselected()
Enable legitimate interest for vendors not disabled by the user.
|
void |
enableAllVendorUnselected()
Method used to enable vendors not selected by the user.
|
boolean |
enabledPlusDisabledEqualRequired()
Method used to check if the number of enabled and disabled purposes is equal to the number of required purposes.
|
void |
enableLegitimatePurpose(Purpose purpose)
Method used to add a purpose to the enabled legitimate purposes array and remove it from the disabled legitimate purposes array.
|
void |
enablePurpose(Purpose purpose)
Method used to add a purpose to the enabled purposes array and remove it from the disabled purposes array.
|
protected void |
enablePurposeIfApplicable(Purpose purpose) |
void |
enableVendor(Vendor vendor)
Method used to add a vendor to the enabled vendors array.
|
android.text.Spannable |
getAdditionalDataProcessingText(PurposesViewModel.ClickableDataProcessingCallback callback)
Get the text for the additional data processing section
|
java.lang.String |
getAgreeButtonLabel()
Method used to get the translated agree button label text.
|
java.lang.String |
getAllPurposesText() |
boolean |
getCanCloseWhenConsentIsMissing()
Method used to get the canCloseWhenConsentIsMissing flag.
|
PurposeCategory |
getCategoryById(java.lang.String id) |
java.lang.String |
getCategoryDescription(PurposeCategory category) |
java.lang.String |
getCategoryName(PurposeCategory category) |
int |
getCategorySwitchStatus(PurposeCategory category) |
int |
getCategorySwitchStatus(java.lang.String id) |
java.lang.String |
getConsentToggleText()
Method used to get the text that goes next to the Consent toggle.
|
ContextHelper |
getContextHelper()
Method used to get the context helper.
|
java.lang.String |
getDataProcessingDescription(DataProcessing dataProcessing)
Method used to get the translated description of a data processing.
|
java.lang.String |
getDataProcessingDescriptionLegal(DataProcessing dataProcessing)
Method used to get the translated legal description of a data processing.
|
java.lang.String |
getDataProcessingName(DataProcessing dataProcessing)
Method used to get the translated name of a data processing.
|
protected java.util.Map<DataProcessing,java.lang.String> |
getDataProcessingTranslations(java.util.Collection<DataProcessing> dataProcessings)
Get translations of data processings names
|
boolean |
getDisableButtonsUntilScroll()
Getter for disableButtonsUntilScroll
|
java.util.Set<Purpose> |
getDisabledLegitimatePurposes()
Method used to get a set that contains the legitimate purposes disabled.
|
java.util.Set<Purpose> |
getDisabledPurposes()
Method used to get a set that contains the purposes disabled.
|
java.util.Set<Vendor> |
getDisabledVendorsConsent()
Getter method for the disabledVendors array.
|
java.util.Set<Vendor> |
getDisabledVendorsLegInt()
Get the list of disabled legitimate interest vendors
|
java.lang.String |
getDisagreeButtonLabel()
Method used to get the translated disagree button label text.
|
java.util.Set<Purpose> |
getEnabledLegitimatePurposes()
Method used to get a set that contains the legitimate purposes enabled.
|
java.util.Set<Purpose> |
getEnabledPurposes()
Method used to get a set that contains the purposes enabled.
|
java.util.Set<Vendor> |
getEnabledVendorsConsent()
Getter method for the enabledVendors array.
|
java.util.Set<Vendor> |
getEnabledVendorsLegInt()
Retrieve the list of enabled legitimate interest vendors (all vendors with legitimate interest not disabled)
|
java.lang.String |
getEssentialPurposeText()
Method used to get the translated status description of a essential purpose.
|
android.graphics.drawable.GradientDrawable |
getHighlightBackground()
Getter method for highlightBackground.
|
int |
getHighlightTextColor()
Getter method for highlightTextColor.
|
boolean |
getIsLinkColorSet()
Getter method for isLinkColorSet flag.
|
java.lang.String |
getLegitimateInterestToggleText()
Method used to get the Legitimate interest text.
|
int |
getLinkColor()
Getter method for linkColor.
|
Purpose |
getPurposeById(java.lang.String id) |
java.lang.String |
getPurposeDescription(Purpose purpose)
Method used to get the translated description of a purpose.
|
java.lang.String |
getPurposeDescriptionLegal()
Method used to get the translated legal description of a purpose.
|
java.lang.String |
getPurposeName(Purpose purpose)
Method used to get the translated name of a purpose.
|
java.lang.String |
getPurposesMessageText()
Method used to get the translated Purposes Message text.
|
int |
getPurposeSwitchStatus(Purpose purpose)
Method used to get the status of a vendor
|
int |
getPurposeSwitchStatus(java.lang.String id) |
android.graphics.drawable.GradientDrawable |
getRegularBackground()
Getter method for regularBackground.
|
int |
getRegularTextColor()
Getter method for regularTextColor.
|
java.util.Set<Vendor> |
getRequiredVendorsConsent()
Required vendors consent.
|
java.util.Set<Vendor> |
getRequiredVendorsLegInt()
Required vendors legitimate interest
|
java.lang.String |
getSaveButtonDescriptionText() |
java.lang.String |
getSaveButtonLabel()
Method used to get the translated save button label text.
|
java.lang.String |
getScrollIndicatorText()
Method used to get the translated text for the scrolling indicator "Scroll down to give consent".
|
androidx.lifecycle.MutableLiveData<PurposeCategory> |
getSelectedCategory() |
androidx.lifecycle.MutableLiveData<java.lang.Integer> |
getSelectedCategoryState() |
androidx.lifecycle.LiveData<Purpose> |
getSelectedPurpose()
Getter method for the selectedPurpose.
|
androidx.lifecycle.MutableLiveData<java.lang.Integer> |
getSelectedPurposeConsentState() |
androidx.lifecycle.MutableLiveData<java.lang.Integer> |
getSelectedPurposeLegIntState() |
boolean |
getShouldAddRoomForIcon()
Getter method for shouldAddRoomForIcon.
|
boolean |
getShowWhenConsentIsMissing()
Method used to get the showWhenConsentIsMissing flag.
|
protected java.util.List<DataProcessing> |
getSortedDataProcessingList(java.util.Set<DataProcessing> dataProcessing,
java.util.Map<DataProcessing,java.lang.String> dataProcessingTranslations)
Get a sorted list of data processings, by translated name alphabetical order
|
int |
getThemeColor()
Getter method for themeColor.
|
java.lang.String |
getTitle()
Method used to get the translated (if exists) title of the purposes fragment.
|
java.lang.String |
getVendorsViewLabel()
Method used to get the text that goes in the vendors view.
|
java.lang.String |
getViewAllText()
Method used to get the translated "View to all" text.
|
java.lang.String |
getYouAllowText()
Method used to get the translated "You allow..." text that goes in the purposes fragment.
|
void |
initializeSelectedCategoryState(PurposeCategory selectedCategory) |
void |
initializeSelectedPurposeStates(Purpose selectedPurpose) |
boolean |
isAnyPurposeEnabled() |
boolean |
isCategoryEssential(PurposeCategory category) |
boolean |
isLegitimatePurpose(Purpose purpose) |
boolean |
isLegitimatePurposeEnabled(Purpose purpose) |
boolean |
isSelectedPurposeDefined()
This function checks if there any choice made with regards to consent status of this purpose
|
boolean |
isSelectedPurposeEssential() |
boolean |
isSpecialFeature() |
void |
loadEnabledVendors()
Method used to load enabled vendors (that are enabled or undefined).
|
void |
mixAllConsentPurposes()
Method used to mix all purposes.
|
boolean |
noPurposeIsDefined()
Method used to check if no purpose has been defined (unknown).
|
void |
onAgreeAllButtonClicked() |
void |
onBulkPurposesSwitchWasToggled(int state) |
void |
onCategoryDetailScreenCloseClicked() |
void |
onCategoryDetailScreenLoaded() |
void |
onCategorySwitchToggled(PurposeCategory category,
int state) |
protected void |
onDisablePurposeClicked(Purpose purpose) |
void |
onDisagreeAllButtonClicked() |
void |
onDismissButtonClicked() |
protected void |
onEnablePurposeClicked(Purpose purpose) |
void |
onPurposeConsentChanged(Purpose purpose,
int consentStatus) |
void |
onPurposeDetailConsentSwitchToggled(Purpose purpose,
int state) |
void |
onPurposeDetailLegIntSwitchToggled(Purpose purpose,
int state) |
void |
onPurposeDetailScreenCloseClicked() |
void |
onPurposeDetailScreenLoaded() |
void |
onPurposeLegIntChanged(Purpose purpose,
int legIntState) |
void |
onPurposeSwitchToggled(Purpose purpose,
int state) |
protected void |
onPurposeSwitchWasToggled() |
void |
onSaveButtonClicked() |
void |
onViewCancelled() |
java.util.List<Purpose> |
preparePurposesForPresentation(android.content.Context context)
Method used to prepare purposes for presentation to the user.
|
java.util.List<Purpose> |
preparePurposesForPresentation(android.content.Context context,
java.util.Set<Purpose> newPurposes)
Method used to refresh prepared purposes for presentation to the user.
|
void |
resetSelectedPurpose() |
void |
saveConsent()
Method used to save consent.
|
void |
setHasScrolledToTheBottom(boolean hasScrolledToTheBottom)
Setter method for the hasScrolledToTheBottom flag.
|
void |
setSelectedCategory(PurposeCategory item) |
void |
setSelectedCategoryState(java.lang.Integer selectedCategoryState) |
void |
setSelectedPurpose(Purpose item)
Setter method for the selectedPurpose.
|
void |
setSelectedPurposeConsentState(java.lang.Integer selectedPurposeConsentState) |
void |
setSelectedPurposeLegIntState(java.lang.Integer selectedPurposeLegIntState) |
boolean |
shouldBeCancelable()
Method used to determine if the purposes view should be cancelable or not.
|
boolean |
shouldDisplaySwitchesSeparator(Purpose purpose)
Whether UI should display a separator between the consent and legitimate interest switches
|
boolean |
shouldHandleConsentState(Purpose purpose) |
boolean |
shouldHandleLegitimateInterestState(Purpose purpose) |
boolean |
shouldHideDidomiLogo(boolean isMainScreen)
Method used to check if Didomi logo should be hidden.
|
boolean |
shouldShowAdditionalDataProcessing()
Whether the Additional data processing section should be shown or not
We show it if the TCF version is 2 and we have at least one required special purpose or feature
|
boolean |
shouldShowDescriptionLegal()
Method used to indicate if description legal should be shown.
|
boolean |
shouldShowDismissButton(boolean isUserConsentStatusNotPartial)
Method used to check if the close button should be shown to the user.
|
java.lang.Boolean |
shouldSuggestScrolling()
Method used to check if the UI should suggest scrolling.
|
boolean |
shouldUseV2()
Determine is we are using TCFV2.
|
protected void |
sortByCategoriesIfNeeded(java.util.List<Purpose> purposes,
java.util.List<PurposeCategory> categories)
This function is a temporary fix for Android TV to support sorting by categories in
its previous form.
|
void |
triggerEvent(Event event)
Method used to trigger an (app) event.
|
void |
unsetPurpose(Purpose purpose)
Method used to remove a purposes from both disabled and enabled purposes.
|
void |
updatePurposesStatus(java.util.Set<Purpose> enabledPurposes,
java.util.Set<Purpose> disabledPurposes,
java.util.Set<Purpose> enabledLegitimatePurposes,
java.util.Set<Purpose> disabledLegitimatePurposes)
Method used to update enabled and disabled purposes.
|
void |
updateVendorsAndSaveConsent()
Method used to save a customized vendors and purposes
|
protected VendorRepository vendorRepository
protected io.didomi.sdk.resources.LanguagesHelper languagesHelper
protected ConfigurationRepository configurationRepository
protected java.util.Set<Purpose> requiredPurposes
protected java.util.List<PurposeCategory> requiredCategories
protected androidx.lifecycle.MutableLiveData<Purpose> selectedPurpose
protected androidx.lifecycle.MutableLiveData<PurposeCategory> selectedCategory
public PurposesViewModel(ConfigurationRepository configurationRepository, EventsRepository eventsRepository, VendorRepository vendorRepository, io.didomi.sdk.resources.LanguagesHelper languagesHelper, io.didomi.sdk.resources.ResourcesHelper resourcesHelper, ConsentRepository consentRepository, ContextHelper contextHelper)
public boolean shouldShowAdditionalDataProcessing()
public android.text.Spannable getAdditionalDataProcessingText(@Nullable
PurposesViewModel.ClickableDataProcessingCallback callback)
callback - callback to call when an additional data processing is clicked@NotNull protected java.util.Map<DataProcessing,java.lang.String> getDataProcessingTranslations(java.util.Collection<DataProcessing> dataProcessings)
dataProcessings - list of data processing to translate@NotNull protected java.util.List<DataProcessing> getSortedDataProcessingList(java.util.Set<DataProcessing> dataProcessing, java.util.Map<DataProcessing,java.lang.String> dataProcessingTranslations)
dataProcessing - list of data processings to sortdataProcessingTranslations - mapping of data processings with their name translationpublic boolean shouldBeCancelable()
public java.util.List<io.didomi.sdk.adapters.DisplayItem.PurposeDisplayItem> createPurposesDisplayItemsForCategory(PurposeCategory category)
public java.util.List<io.didomi.sdk.adapters.DisplayItem.PurposeDisplayItem> createPurposesDisplayItems(android.content.Context context)
public java.util.List<Purpose> preparePurposesForPresentation(android.content.Context context)
protected void sortByCategoriesIfNeeded(java.util.List<Purpose> purposes, java.util.List<PurposeCategory> categories)
purposes - categories - public java.util.List<Purpose> preparePurposesForPresentation(android.content.Context context, java.util.Set<Purpose> newPurposes)
public boolean getShouldAddRoomForIcon()
public int calculateHighlightBackgroundColor(AppConfiguration.Theme theme)
theme - public int calculateHighlightTextColor(AppConfiguration.Theme theme)
theme - public android.graphics.drawable.GradientDrawable getHighlightBackground()
public android.graphics.drawable.GradientDrawable getRegularBackground()
public int getHighlightTextColor()
public int getRegularTextColor()
public int getLinkColor()
public int getThemeColor()
public boolean getIsLinkColorSet()
public void triggerEvent(Event event)
event - event to be triggered.public java.lang.String getVendorsViewLabel()
public Purpose getPurposeById(java.lang.String id)
public PurposeCategory getCategoryById(java.lang.String id)
public java.util.Set<Purpose> getEnabledPurposes()
public java.util.Set<Purpose> getDisabledPurposes()
public java.util.Set<Purpose> getEnabledLegitimatePurposes()
public java.util.Set<Purpose> getDisabledLegitimatePurposes()
public java.util.Set<Vendor> getEnabledVendorsConsent()
public java.util.Set<Vendor> getDisabledVendorsConsent()
public java.util.Set<Vendor> getEnabledVendorsLegInt()
public java.util.Set<Vendor> getDisabledVendorsLegInt()
public java.util.Set<Vendor> getRequiredVendorsConsent()
public java.util.Set<Vendor> getRequiredVendorsLegInt()
public java.lang.String getSaveButtonLabel()
public java.lang.String getTitle()
public java.lang.String getYouAllowText()
public java.lang.String getScrollIndicatorText()
public java.lang.String getViewAllText()
public java.lang.String getPurposesMessageText()
public java.lang.String getAgreeButtonLabel()
public java.lang.String getDisagreeButtonLabel()
public java.lang.String getPurposeName(Purpose purpose)
purpose - purpose to get the translated name from.public java.lang.String getCategoryName(PurposeCategory category)
public java.lang.String getPurposeDescription(Purpose purpose)
purpose - purpose to get the description from.public java.lang.String getCategoryDescription(PurposeCategory category)
public java.lang.String getPurposeDescriptionLegal()
public boolean shouldShowDescriptionLegal()
public java.lang.String getConsentToggleText()
public java.lang.String getLegitimateInterestToggleText()
public java.lang.String getEssentialPurposeText()
public java.lang.String getDataProcessingName(DataProcessing dataProcessing)
dataProcessing - data processing to get the translated name from.public java.lang.String getDataProcessingDescription(DataProcessing dataProcessing)
dataProcessing - data processing to get the description from.public java.lang.String getDataProcessingDescriptionLegal(DataProcessing dataProcessing)
dataProcessing - data processing to get the description from.public boolean getCanCloseWhenConsentIsMissing()
public boolean getShowWhenConsentIsMissing()
public ContextHelper getContextHelper()
public void setHasScrolledToTheBottom(boolean hasScrolledToTheBottom)
hasScrolledToTheBottom - public boolean getDisableButtonsUntilScroll()
public boolean enabledPlusDisabledEqualRequired()
public boolean noPurposeIsDefined()
public boolean areAllPurposesDefinedForCategory(PurposeCategory category)
public boolean isCategoryEssential(PurposeCategory category)
public java.lang.Boolean shouldSuggestScrolling()
public void updatePurposesStatus(@NonNull
java.util.Set<Purpose> enabledPurposes,
@NonNull
java.util.Set<Purpose> disabledPurposes,
@NonNull
java.util.Set<Purpose> enabledLegitimatePurposes,
@NonNull
java.util.Set<Purpose> disabledLegitimatePurposes)
enabledPurposes - enabled purposes to set.disabledPurposes - disabled purposes to set.enabledLegitimatePurposes - enabled legitimate interest purposes to set.disabledLegitimatePurposes - disabled legitimate interest purposes to set.public void enableAllVendorUnselected()
public void disableAllVendorUnselected()
public void enableAllVendorLegIntUnselected()
public void disableAllVendorLegIntUnselected()
public void enableAllVendorLegInt()
public void enableAll()
public void enableAllConsentPurposes()
public void enableAllConsentPurposesExceptEssentials()
public void mixAllConsentPurposes()
public void disableAllConsentPurposes()
public void disableAllConsentPurposesExceptEssentials()
public void enableAllLegitimatePurposes()
public void disableAllLegitimatePurposes()
public void disableAll()
public void enablePurpose(Purpose purpose)
purpose - purpose to update.public void disablePurpose(Purpose purpose)
purpose - purpose to update.public void unsetPurpose(Purpose purpose)
purpose - purpose to update.public void enableVendor(Vendor vendor)
vendor - vendor to update.public void disableVendor(Vendor vendor)
vendor - vendor to update.public void enableLegitimatePurpose(Purpose purpose)
purpose - purpose to update.public void disableLegitimatePurpose(Purpose purpose)
purpose - purpose to update.public boolean isLegitimatePurposeEnabled(Purpose purpose)
public boolean isLegitimatePurpose(Purpose purpose)
public void saveConsent()
throws DidomiNotReadyException
DidomiNotReadyExceptionpublic void loadEnabledVendors()
public boolean shouldHideDidomiLogo(boolean isMainScreen)
isMainScreen - true if check is for the main preferences screenpublic boolean shouldShowDismissButton(boolean isUserConsentStatusNotPartial)
public boolean areAllPurposesDisabled()
public boolean areAllPurposesConsentEnabled()
public boolean areAllPurposesDisabledWithoutEssentials()
public boolean isAnyPurposeEnabled()
public void updateVendorsAndSaveConsent()
public boolean shouldUseV2()
public void resetSelectedPurpose()
public androidx.lifecycle.LiveData<Purpose> getSelectedPurpose()
public void setSelectedPurpose(Purpose item)
public androidx.lifecycle.MutableLiveData<PurposeCategory> getSelectedCategory()
public void setSelectedCategory(PurposeCategory item)
public boolean isSpecialFeature()
public int getPurposeSwitchStatus(java.lang.String id)
public int getCategorySwitchStatus(java.lang.String id)
public int getPurposeSwitchStatus(Purpose purpose)
purpose - affected purposepublic int getCategorySwitchStatus(PurposeCategory category)
public androidx.lifecycle.MutableLiveData<java.lang.Integer> getSelectedPurposeConsentState()
public void setSelectedPurposeConsentState(java.lang.Integer selectedPurposeConsentState)
public androidx.lifecycle.MutableLiveData<java.lang.Integer> getSelectedCategoryState()
public void setSelectedCategoryState(java.lang.Integer selectedCategoryState)
public androidx.lifecycle.MutableLiveData<java.lang.Integer> getSelectedPurposeLegIntState()
public void setSelectedPurposeLegIntState(java.lang.Integer selectedPurposeLegIntState)
public void initializeSelectedPurposeStates(Purpose selectedPurpose)
public void initializeSelectedCategoryState(PurposeCategory selectedCategory)
public boolean shouldHandleLegitimateInterestState(Purpose purpose)
public boolean shouldHandleConsentState(Purpose purpose)
public boolean shouldDisplaySwitchesSeparator(Purpose purpose)
purpose - displayed purposepublic void onAgreeAllButtonClicked()
public void onDisagreeAllButtonClicked()
public void onSaveButtonClicked()
public void onDismissButtonClicked()
public void onViewCancelled()
protected void onDisablePurposeClicked(Purpose purpose)
protected void disablePurposeIfApplicable(Purpose purpose)
protected void onEnablePurposeClicked(Purpose purpose)
protected void enablePurposeIfApplicable(Purpose purpose)
public void onPurposeSwitchToggled(Purpose purpose, int state)
public void onPurposeDetailConsentSwitchToggled(Purpose purpose, int state)
public void onPurposeDetailLegIntSwitchToggled(Purpose purpose, int state)
public void onCategorySwitchToggled(PurposeCategory category, int state)
public void onPurposeConsentChanged(Purpose purpose, int consentStatus)
protected void onPurposeSwitchWasToggled()
public void onPurposeLegIntChanged(Purpose purpose, int legIntState)
public java.lang.String getAllPurposesText()
public java.lang.String getSaveButtonDescriptionText()
public void onBulkPurposesSwitchWasToggled(int state)
public void onCategoryDetailScreenLoaded()
public void onPurposeDetailScreenLoaded()
public void onCategoryDetailScreenCloseClicked()
public void onPurposeDetailScreenCloseClicked()
public boolean isSelectedPurposeEssential()
public boolean isSelectedPurposeDefined()