Shared.java revision 8e3fd7676023738c04d099f2940a635ff0699717
1fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay/* 2fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * Copyright (C) 2015 The Android Open Source Project 3fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * 4fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * Licensed under the Apache License, Version 2.0 (the "License"); 5fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * you may not use this file except in compliance with the License. 6fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * You may obtain a copy of the License at 7fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * 8fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * http://www.apache.org/licenses/LICENSE-2.0 9fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * 10fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * Unless required by applicable law or agreed to in writing, software 11fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * distributed under the License is distributed on an "AS IS" BASIS, 12fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * See the License for the specific language governing permissions and 14fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay * limitations under the License. 15fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay */ 16fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay 17fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKaypackage com.android.documentsui; 18fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay 19919231857d2add3afe51f06aaf41663a252c3e0eBen Kwaimport android.content.Context; 208e3fd7676023738c04d099f2940a635ff0699717Ben Kwaimport android.text.format.DateUtils; 218e3fd7676023738c04d099f2940a635ff0699717Ben Kwaimport android.text.format.Time; 22919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa 234d0255f79cc92a5675d14b20f9cdf06ecb8d7109Steve McKay/** @hide */ 24fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKaypublic final class Shared { 25ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa /** Intent action name to pick a copy destination. */ 26ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa public static final String ACTION_PICK_COPY_DESTINATION = 27ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa "com.android.documentsui.PICK_COPY_DESTINATION"; 28ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa 29ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa /** 30ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa * Extra boolean flag for {@link ACTION_PICK_COPY_DESTINATION}, which 31ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa * specifies if the destination directory needs to create new directory or not. 32ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa */ 33ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa public static final String EXTRA_DIRECTORY_COPY = "com.android.documentsui.DIRECTORY_COPY"; 34ae96780a8909476dca709b88dbae5ec9a2f0632cBen Kwa 35459bc2b19ae24e3ad09b2945f21c8397177d5720Steve McKay public static final boolean DEBUG = true; 36fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay public static final String TAG = "Documents"; 374d0255f79cc92a5675d14b20f9cdf06ecb8d7109Steve McKay public static final String EXTRA_STACK = "com.android.documentsui.STACK"; 38919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa 39919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa /** 40919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa * Generates a formatted quantity string. 41919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa */ 42919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa public static final String getQuantityString(Context context, int resourceId, int quantity) { 43919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa return context.getResources().getQuantityString(resourceId, quantity, quantity); 44919231857d2add3afe51f06aaf41663a252c3e0eBen Kwa } 458e3fd7676023738c04d099f2940a635ff0699717Ben Kwa 468e3fd7676023738c04d099f2940a635ff0699717Ben Kwa public static String formatTime(Context context, long when) { 478e3fd7676023738c04d099f2940a635ff0699717Ben Kwa // TODO: DateUtils should make this easier 488e3fd7676023738c04d099f2940a635ff0699717Ben Kwa Time then = new Time(); 498e3fd7676023738c04d099f2940a635ff0699717Ben Kwa then.set(when); 508e3fd7676023738c04d099f2940a635ff0699717Ben Kwa Time now = new Time(); 518e3fd7676023738c04d099f2940a635ff0699717Ben Kwa now.setToNow(); 528e3fd7676023738c04d099f2940a635ff0699717Ben Kwa 538e3fd7676023738c04d099f2940a635ff0699717Ben Kwa int flags = DateUtils.FORMAT_NO_NOON | DateUtils.FORMAT_NO_MIDNIGHT 548e3fd7676023738c04d099f2940a635ff0699717Ben Kwa | DateUtils.FORMAT_ABBREV_ALL; 558e3fd7676023738c04d099f2940a635ff0699717Ben Kwa 568e3fd7676023738c04d099f2940a635ff0699717Ben Kwa if (then.year != now.year) { 578e3fd7676023738c04d099f2940a635ff0699717Ben Kwa flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE; 588e3fd7676023738c04d099f2940a635ff0699717Ben Kwa } else if (then.yearDay != now.yearDay) { 598e3fd7676023738c04d099f2940a635ff0699717Ben Kwa flags |= DateUtils.FORMAT_SHOW_DATE; 608e3fd7676023738c04d099f2940a635ff0699717Ben Kwa } else { 618e3fd7676023738c04d099f2940a635ff0699717Ben Kwa flags |= DateUtils.FORMAT_SHOW_TIME; 628e3fd7676023738c04d099f2940a635ff0699717Ben Kwa } 638e3fd7676023738c04d099f2940a635ff0699717Ben Kwa 648e3fd7676023738c04d099f2940a635ff0699717Ben Kwa return DateUtils.formatDateTime(context, when, flags); 658e3fd7676023738c04d099f2940a635ff0699717Ben Kwa } 668e3fd7676023738c04d099f2940a635ff0699717Ben Kwa 67fefcd700d6b4cf1c4402af74c50fb0e762472901Steve McKay} 68