131d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank/*
231d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * Copyright (C) 2011 The Android Open Source Project
331d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank *
431d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * Licensed under the Apache License, Version 2.0 (the "License");
531d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * you may not use this file except in compliance with the License.
631d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * You may obtain a copy of the License at
731d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank *
831d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank *      http://www.apache.org/licenses/LICENSE-2.0
931d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank *
1031d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * Unless required by applicable law or agreed to in writing, software
1131d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * distributed under the License is distributed on an "AS IS" BASIS,
1231d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1331d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * See the License for the specific language governing permissions and
1431d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * limitations under the License.
1531d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank */
1631d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
1731d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blankpackage com.android.emailcommon;
1831d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
1931d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blankimport android.content.Context;
2031d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
2131d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blankimport java.io.File;
2231d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
2331d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank/**
2431d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * TempDirectory caches the directory used for caching file.  It is set up during application
2531d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank * initialization.
2631d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank */
2731d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blankpublic class TempDirectory {
2831d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank    private static File sTempDirectory = null;
2931d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
3031d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank    public static void setTempDirectory(Context context) {
3131d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank        sTempDirectory = context.getCacheDir();
3231d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank    }
3331d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank
3431d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank    public static File getTempDirectory() {
3531d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank        if (sTempDirectory == null) {
3631d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank            throw new RuntimeException(
3731d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank                    "TempDirectory not set.  " +
3831d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank                    "If in a unit test, call Email.setTempDirectory(context) in setUp().");
3931d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank        }
4031d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank        return sTempDirectory;
4131d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank    }
4231d9acbf0623872f9d4a2b3210b5970854b654c7Marc Blank}
43