1f93e60c1b334d510940406c736559895462aac31nicolasroard/* 2f93e60c1b334d510940406c736559895462aac31nicolasroard * Copyright (C) 2013 The Android Open Source Project 3f93e60c1b334d510940406c736559895462aac31nicolasroard * 4f93e60c1b334d510940406c736559895462aac31nicolasroard * Licensed under the Apache License, Version 2.0 (the "License"); 5f93e60c1b334d510940406c736559895462aac31nicolasroard * you may not use this file except in compliance with the License. 6f93e60c1b334d510940406c736559895462aac31nicolasroard * You may obtain a copy of the License at 7f93e60c1b334d510940406c736559895462aac31nicolasroard * 8f93e60c1b334d510940406c736559895462aac31nicolasroard * http://www.apache.org/licenses/LICENSE-2.0 9f93e60c1b334d510940406c736559895462aac31nicolasroard * 10f93e60c1b334d510940406c736559895462aac31nicolasroard * Unless required by applicable law or agreed to in writing, software 11f93e60c1b334d510940406c736559895462aac31nicolasroard * distributed under the License is distributed on an "AS IS" BASIS, 12f93e60c1b334d510940406c736559895462aac31nicolasroard * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f93e60c1b334d510940406c736559895462aac31nicolasroard * See the License for the specific language governing permissions and 14f93e60c1b334d510940406c736559895462aac31nicolasroard * limitations under the License. 15f93e60c1b334d510940406c736559895462aac31nicolasroard */ 16f93e60c1b334d510940406c736559895462aac31nicolasroard 17f93e60c1b334d510940406c736559895462aac31nicolasroardpackage com.android.gallery3d.filtershow.filters; 18f93e60c1b334d510940406c736559895462aac31nicolasroard 194c792cc7b44be1ea0a2cfc2e7259828b81b0e4a4John Hofordimport android.content.Context; 203bc806a8575072c9459fe3698675d3713300d1d3nicolasroardimport android.content.res.Resources; 214c792cc7b44be1ea0a2cfc2e7259828b81b0e4a4John Hofordimport android.graphics.Color; 224c792cc7b44be1ea0a2cfc2e7259828b81b0e4a4John Hoford 234c792cc7b44be1ea0a2cfc2e7259828b81b0e4a4John Hofordimport com.android.gallery3d.R; 243bc806a8575072c9459fe3698675d3713300d1d3nicolasroard 255138b28530301bf751adecb87ed58a214cd55116John Hofordimport java.util.ArrayList; 265138b28530301bf751adecb87ed58a214cd55116John Hofordimport java.util.HashMap; 275138b28530301bf751adecb87ed58a214cd55116John Hofordimport java.util.Vector; 285138b28530301bf751adecb87ed58a214cd55116John Hoford 29f60760478ec7c78446be0e0c6bc5502d1557974cnicolasroardpublic class FiltersManager extends BaseFiltersManager { 3021a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk private static FiltersManager sInstance = null; 317706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard private static FiltersManager sPreviewInstance = null; 32e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard private static FiltersManager sHighresInstance = null; 33b052e5c72d27c3da585e345d758170c3ab26cbc8nicolasroard 347706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard public FiltersManager() { 357706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard init(); 367706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard } 377706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard 387706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard public static FiltersManager getPreviewManager() { 397706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard if (sPreviewInstance == null) { 407706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard sPreviewInstance = new FiltersManager(); 417706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard } 427706e506dc74fa634a69b9ce8c7e5e2c457f01fcnicolasroard return sPreviewInstance; 4321a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk } 4471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 4571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public static FiltersManager getManager() { 4621a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk if (sInstance == null) { 4721a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk sInstance = new FiltersManager(); 4871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 4921a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk return sInstance; 5021a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk } 5121a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk 52e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard public static FiltersManager getHighresManager() { 53e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard if (sHighresInstance == null) { 54e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard sHighresInstance = new FiltersManager(); 55e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard } 56e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard return sHighresInstance; 57e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard } 58e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard 5921a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk public static void reset() { 6021a01faab1125c5c347a3dfbf6a71de6aec233a1Ruben Brunk sInstance = null; 61ea5355e6aa782bb61fbf079f4811873a67a83808Ruben Brunk sPreviewInstance = null; 62e29b57330be471dd74672a7bdc74a93dcae3a98bnicolasroard sHighresInstance = null; 6371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 6438fc044a6d45e7283f05e6fe800bc5faf9f2e573nicolasroard 653bc806a8575072c9459fe3698675d3713300d1d3nicolasroard public static void setResources(Resources resources) { 663bc806a8575072c9459fe3698675d3713300d1d3nicolasroard FiltersManager.getManager().setFilterResources(resources); 673bc806a8575072c9459fe3698675d3713300d1d3nicolasroard FiltersManager.getPreviewManager().setFilterResources(resources); 683bc806a8575072c9459fe3698675d3713300d1d3nicolasroard FiltersManager.getHighresManager().setFilterResources(resources); 693bc806a8575072c9459fe3698675d3713300d1d3nicolasroard } 70f93e60c1b334d510940406c736559895462aac31nicolasroard} 71