FeatureItem.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2018-2020 Tobias Kaminsky <tobias@kaminsky.me>
  5. * SPDX-License-Identifier: AGPL-3.0-or-later
  6. */
  7. package com.owncloud.android.features;
  8. import android.os.Parcel;
  9. import android.os.Parcelable;
  10. import com.owncloud.android.R;
  11. public class FeatureItem implements Parcelable {
  12. private static final int DO_NOT_SHOW = -1;
  13. private int image;
  14. private int titleText;
  15. private int contentText;
  16. private boolean contentCentered;
  17. private boolean bulletList;
  18. public FeatureItem(int image, int titleText, int contentText, boolean contentCentered, boolean bulletList) {
  19. this.image = image;
  20. this.titleText = titleText;
  21. this.contentText = contentText;
  22. this.contentCentered = contentCentered;
  23. this.bulletList = bulletList;
  24. }
  25. public boolean shouldShowImage() {
  26. return image != DO_NOT_SHOW;
  27. }
  28. public boolean shouldShowTitleText() {
  29. return titleText != DO_NOT_SHOW && titleText != R.string.empty;
  30. }
  31. public boolean shouldShowContentText() {
  32. return contentText != DO_NOT_SHOW && contentText != R.string.empty;
  33. }
  34. public boolean shouldContentCentered() {
  35. return contentCentered;
  36. }
  37. public boolean shouldShowBulletPointList() {
  38. return bulletList;
  39. }
  40. @Override
  41. public int describeContents() {
  42. return 0;
  43. }
  44. @Override
  45. public void writeToParcel(Parcel dest, int flags) {
  46. dest.writeInt(image);
  47. dest.writeInt(titleText);
  48. dest.writeInt(contentText);
  49. dest.writeByte((byte) (contentCentered ? 1 : 0));
  50. dest.writeByte((byte) (bulletList ? 1 : 0));
  51. }
  52. private FeatureItem(Parcel p) {
  53. image = p.readInt();
  54. titleText = p.readInt();
  55. contentText = p.readInt();
  56. contentCentered = p.readByte() == 1;
  57. bulletList = p.readByte() == 1;
  58. }
  59. public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
  60. @Override
  61. public Object createFromParcel(Parcel source) {
  62. return new FeatureItem(source);
  63. }
  64. @Override
  65. public Object[] newArray(int size) {
  66. return new FeatureItem[size];
  67. }
  68. };
  69. public int getImage() {
  70. return this.image;
  71. }
  72. public int getTitleText() {
  73. return this.titleText;
  74. }
  75. public int getContentText() {
  76. return this.contentText;
  77. }
  78. }