From a63ede5f73ce4e4280594a4c8ff5fd39a2ed6485 Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Tue, 21 Jan 2014 16:32:23 +0000 Subject: [PATCH] Bug 959777 - Factor out PanelConfig validation to be used in all constructors (r=margaret) --- mobile/android/base/home/HomeConfig.java | 27 +++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/mobile/android/base/home/HomeConfig.java b/mobile/android/base/home/HomeConfig.java index 53bba3dc603..27b05f18e17 100644 --- a/mobile/android/base/home/HomeConfig.java +++ b/mobile/android/base/home/HomeConfig.java @@ -121,6 +121,8 @@ final class HomeConfig { mTitle = in.readString(); mId = in.readString(); mFlags = (EnumSet) in.readSerializable(); + + validate(); } public PanelConfig(PanelType type, String title, String id) { @@ -128,25 +130,30 @@ final class HomeConfig { } public PanelConfig(PanelType type, String title, String id, EnumSet flags) { - if (type == null) { + mType = type; + mTitle = title; + mId = id; + mFlags = flags; + + validate(); + } + + private void validate() { + if (mType == null) { throw new IllegalArgumentException("Can't create PanelConfig with null type"); } - mType = type; - if (title == null) { - throw new IllegalArgumentException("Can't create PanelConfig with null title"); + if (TextUtils.isEmpty(mTitle)) { + throw new IllegalArgumentException("Can't create PanelConfig with empty title"); } - mTitle = title; - if (id == null) { - throw new IllegalArgumentException("Can't create PanelConfig with null id"); + if (TextUtils.isEmpty(mId)) { + throw new IllegalArgumentException("Can't create PanelConfig with empty id"); } - mId = id; - if (flags == null) { + if (mFlags == null) { throw new IllegalArgumentException("Can't create PanelConfig with null flags"); } - mFlags = flags; } public PanelType getType() {